Urbana Electronics & Programming Summer Program

When it comes to computers, it's almost required that you teach yourself everything there is to know. This autodidacticism might work for some, but becomes frustrating for preteens not used to it. On the other hand, in person educational programs offered by schools are often aimed towards the lowest common denominator, oversimplifying things to the point where your child loses interest in them.

For Course Notes scroll down

The Urban Computing and Electronics Summer Program aims to provide a balance between this, offering practical and challenging course material, but also providing in person tutoring for those who have little prior experience. This two week program is tailored to your child's skill level and offers topics ranging from High Level Programming, Low Level Programming, Electronics, Web Design, Cyber Security, and UNIX system maintenance.

About Me

My name is Haoran S. Diao, I'm a self taught electronics and programming hobbyist. I have experience in:

I have been:

Course Details ---Required Course Materials

A dedicated laptop that Linux will be installed on, this can be any obsolete laptop made after 2010. This does not have to be a very fast computer at all. In most cases, previous data and OS will be wiped on installation of new OS, but dualbooting(keeping both systems) can be done for certain computers. If you can no provide a dedicated laptop then you can purchase a Raspberry Pi kit for ~80 from me or online.

Optional Course Materials:

These will only be required for certain projects, you are not required to bring these if we do not end up exploring that topic.

---Course Outline: C expressions course notes

Bitwise Operators: &, bitwise and; |, bitwise or; ~, bitwise not; ^, bitwise xor. Bitwise operators apply logic operations in each position of a binary number, return the resulting binary number.

Boolean Operators: &&, boolean and; ||, boolean or; !, boolean not. Boolean operators apply logic on whether then entire number is true or false, and returns true or false.

Comparisons: >, greater than; <, lesser than; >=, greater than or equals; <=, lesser than or equals; ==, equals; !=, does not equal.

AND: if both are true, then the output is true. OR: if one is true, then the output is true. XOR: if one is true and the other false, then the output is true, otherwise it is false. NOT: if true, false; if false, true.