This is a small draft
CS is not so fundamental and still exceptionally bloated area, where Science (it is still there I hope!), Art and Craft sometimes are glued together in a weird creature, sometimes exist independently, only formally considered to belong to the same area, sometimes behave in a hybrid way, but nevertheless education programs developers frequently do not care, taking everything related to “new technologies” (how they understand this phrase) for the young men to study.
At least this is the case in Ukraine where decent CS education is thoroughly absent and programs are just mess, and rather stupid mess, designed to fulfill some externally imposed requirements, and not to create a thorough understanding of whatever CS area they’ll choose amongst students.
Here I developed a draft for full, thorough CS course which includes 4
semesters of intense, hardcore studying.
[content – write and explain]
- What is OOP, how I understand it (I am not its master of course) and what I think regarding it.
- What is UNIX, in which case it is clever and great and in which it is not
- What is Plan9
- What is Lisp, and what are JS/PHP/Python/whatever
- How to create the perfect scientifically oriented CS course, which will create next top-level hackers, up to the utmost (of course the level of personal creativity and intelligence is another important factor – but this is a factor universities have to look at and to evolve that)
Course content – why do you need more than 4 semesters to become a hacker? Better study mathematics, some areas of which contain all main CS ideas for the last decades. Physics, biology (just look at genetics and neurobiology) – all they are the main fields, from which ideas are moving to so called market programming, where their grains are placed into large bottles with millions of stickers with more and more versions and more and more names on them. Playing with millions of tools and another technology temporary languages does not worth learning C, Lisp, ML, computer architecture and databases and then practicing with pure mathematical abstractions, not with frameworks and not with fixing bugs
Projects to be done in 3 years. They really do not contain too complex abstractions, except perhaps some concepts in self-modificating programs dating back to Von Neumann or distributed operating systems development.
Literature for the course
Concepts on which this course is based