- - - - - - - - - - - - - - ---=[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