From 8d9aa709c9c021e583ea96a48ae8d19479a2bebd Mon Sep 17 00:00:00 2001 From: knolax <1339802534.kk@gmail.com> Date: Wed, 14 Feb 2018 11:48:56 -0500 Subject: shhhhh --- class/about.txt | 21 ++++++++++++ class/curriculum.txt | 91 ++++++++++++++++++++++++++++++++++++++++++++++++++++ class/promo.txt | 12 +++++++ 3 files changed, 124 insertions(+) create mode 100644 class/about.txt create mode 100644 class/curriculum.txt create mode 100644 class/promo.txt diff --git a/class/about.txt b/class/about.txt new file mode 100644 index 0000000..ac6a8b3 --- /dev/null +++ b/class/about.txt @@ -0,0 +1,21 @@ +My name is Haoran S. Diao, I'm a self taught electronics and programming +hobbyist. + +I have experience in: + Electronics Software Drivers(kernel modules,microcontroller code) + Electronics Hardware Design(Custom PCB design etc...) + Programming(C, C++, Golang, Java, HTML/Javascript/CSS, Python, Lua, Bash +scripts) + Linux System Maintenance(I have written my own kernel module) + Web Design(I have built http://themandelbots.com and +http://hairydiode.xyz from scratch) + Image Processing and Graphics(OpenCV and OpenGL) + Basic Computer Security(best practices, CTF challenges) + Robotics (Head programmer at the Urbana Mandelbots FTC team) + +I have been: + Head Programmer at the Urbana Mandelbots Robotics Team + Former Vice Present at a student run non-profit(Resigned) + +You can see examples of the types of projects I use on my personal site, +http://hairydiode.xyz (no https support sorry). diff --git a/class/curriculum.txt b/class/curriculum.txt new file mode 100644 index 0000000..e52dfe2 --- /dev/null +++ b/class/curriculum.txt @@ -0,0 +1,91 @@ +- - - - - - - - - - - - - - ---=[Course Materials]=--- - - - - - - - - - - - - - + +---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: + + -2 USB drives 8GB minimum, this is to help with file transfer and + OS installation. + + -USB wifi dongle, same as above. + +---Optional Topic Dependent 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.. + + 3.b - An Arduino kit or PIC microcontroller w/ memory flasher. + + 4.b Ti-8* series calculator + + 7.c - USB wifi dongle + +- - - - - - - - - - - - - - ---=[Course Content]=--- - - - - - - - - - - - - - - + +Course Outline(these are possible topics): + 1)Linux System Maintenance: + a - Using the Terminal + b - Drive Partitioning and Installing a System from Scratch + c - Shell Scripting + d - Compiling Custom Kernels + 2)High Level Programming(farther away from hardware): + a - Image Recognition Algorithms in Python with the OpenCV library. + c - Making Games with Pygame in Python. + d - Making Minecraft Mods with Java. + 3)Low Level Programming(closer to hardware): + a - Linux Kernel Modules using C + b - Microcontroller Code using C + c - Making Games with C++ using the OpenGL and SDL Libraries. + 4)Just For Fun Programming: + a - Coding in Minecraft with Lua + b - Coding on a Ti-8* Calculator with TiBasic + 5)Electronnics Design and CAD: + a - Designing Circuits and PCBs in Kicad or EagleCad + b - Mechanical Drawing with LibreCAD + 6)Hands On Electronics + a - Building Circuits with 74xx Series Logic ICs(Integrated Ciruits) + b - Building Custom Keyboards + 7)Basic Cybersecurity and Penetration Testing + a - Personal Security Best Practices (Operational Security, +Network Secruity) + a - PGP, SSL and Other Uses for Encruption. + b - Applying Security Patches to Your System. + c - Wireless Network Pentesting + 8) Static Web Design + a - HTML/CSS + b - Javascript + c - Hosting your own website with github.io + +Topics above are all potential topics to explore, the topics that will be taught +during the program will be determined after the trial session. + +- - - - - - - - - - - - - ---=[Schedules]=--- - - - - - - - - - - - - - - - - - + +Students will be grouped by skill/age level and a rough course schedule can be +seen below. + Level 0 - No experience with programming. + + Level 1 - Some experience with programming, but no experience with linux and or + the terminal + + Level 2 - Some experience with programming and some experience using the console + +Week 1 Lvl.0 Lvl.1 Lvl.2 +Mon - Topic 1 Topic 1 Topic 1 +Tue - Topic 1 Topic 1 Topic 2 or 3 +Wed - Topic 1 Topic 1 Topic 2 or 3 +Thur - Topic 2, 4 or 8 Topic 2, or 8 Topic 2 or 3 +Fri - Topic 2, 4 or 8 Topic 2, or 8 Topic 2 or 3 + +Week 2 Lvl.0 Lvl.1 Lvl.2 +Mon - Topic 2, 4 or 8 Topic 2, 3 or 6 Topic 3, 5 or 6 +Tue - Topic 2, 4 or 8 Topic 2, 3 or 6 Topic 3, 5 or 6 +Wed - Topic 2,or 6 Topic 2, 3 or 6 Topic 3, 5 or 7 +Thur - Topic 2 or 6 Topic 3, 5 or 7 Topic 3, 5 or 7 +Fri - Topic 2, 6 or 7 Topic 3, 5 or 7 Topic 3, 5 or 7 + diff --git a/class/promo.txt b/class/promo.txt new file mode 100644 index 0000000..2c9f36e --- /dev/null +++ b/class/promo.txt @@ -0,0 +1,12 @@ + 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 frustating for preteens not used to it. On the other hand, in person +educational programs offered by schools are often aim towards the lowest common +denominator, oversimplifying things to the point where your child loses interest +in them. + 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 course program is tailored to your child's skill level and offers +topics on High Level Programming(Game Design), Low Level Programming, +Electronics, Web Design, Cyber Security, and UNIX system maintenance. -- cgit v1.1