Computer Science from the Bottom Up
-
What is it?
- In a sentence, a 10 week course teaching low level computer science fundamentals. Philosophy
- Students interested in mechanics often have the opportunity to take "shop" class where they will be instructed on the fundamentals of mechanics. In this class they probably pull apart an engine, see how it works and put it back together again. Students interested in computer science rarely have this same opportunity. However, thanks to Open Source technology, we can now offer students the opportunity to pull apart the building blocks of their computers, and with some assistance, begin to understand them. This is not and algorithms and data structures course; it's a more hands on look at "under the hood" of your computer. Teachers
- In the spirit of Open Source, it is hoped this course will develop the resources such that interested and knowledgeable facilitators can organise small groups in their communities and teach the course. Students
- It is envisaged anyone from around 15 years old onwards with an interest will gain from this course. Students will need to prepare by reading a "C for Dummies" style book, however proficiency isn't required -- it will come with the course. Resources
- A Knoppix style install should be sufficient to experiment with the course. More information as the course develops. Topics
-
It is envisaged each of the ten lessons will be held over a period of 2 - 2 1/2 hours with some initial "lecture" style teaching and then some short exercises about the topic of the week.
- General Unix and Advanced C
- Binary and Number Representation
- Computer Architecture for Beginners
- The Operating System
- The Process
- Virtual Memory
- ELF
- The toolchain
- Shared Libraries and dynamic linking
- File Systems and Networking Fundamentals
Current Work
-
The course is currently a group of DocBook documents held in CVS and can be seen
here.
A working version can be seen here.
Contact
- Any feedback can be sent to Ian Wienand. I am interested to hear what you think of the idea of Open Source coursework. Contributing
- The course is progressing, if you are interested and have some knowledge of DocBook and graphic design or operating systems fundamentals please email.