fsedu-developers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Fsedu-developers] The Curriculum


From: Peter Minten
Subject: [Fsedu-developers] The Curriculum
Date: Sun, 30 Mar 2003 17:43:52 +0200

Hi folks.

The Curriculum is the collection of all our courses. Note that we will offer
courses in all areas of Computer Science, including for example Discrete Math.
This is due to the FSA that needs a complete Curriculum. Also in almost any
class properietary software is used, and since we don't really like propietary
software we will need a complete Curriculum to get it out of the schools. Note
that I'm willing to take the lead of this subproject (/me loves inventing
courses :-). 

The Curriculum will have the following main directions:

* Low Level Hacking
- Developing modules for the Linux kernel. Developing stuff for the Hurd kernel.
Programming in assembler. = This forms a basis for embedded device hacking,
which is not on the Curriculum due to techincal difficulties (you need special
hardware. Every part of an OS is covered here. The fact that we have both a
microkernel OS and a monolithic kernel OS freely available helps :-).

* Database Hacking
- Developing database driven apps. Programming in SQL. Using PostgreSQl and
MySQL. 
= Databases are every important, this direction is all about them. It's not only
focussed on relational databases however, web databases (aka GNU.RDF ;-) are
also covered.

* System Administration
- Adminning using linuxconf, the standard unix tools. Recompiling the kernel.
Setting up networks.
= This covers adminning on GNU/Linux and GNU OS (GNU/Hurd, but since Hurd is GNU
it's part of the GNU OS).

* Game Hacking
- Hacking in SDL, MESA, GTK, etc. Programming AI's. Making games look cool.
Developing good working concepts.
= This really is about getting the Free Software game standard up. Games are the
last area where proprietary software seems to have a chance of survival, this is
not acceptable. The tools to create good games already exist, now we just need
trained game developers to use them correctly.

* Webservice Hacking
- Hacking for the DotGNU platform.
= With the whole unofficial Steering Committee of FSEDU working on DotGNU this
was expectable. But really, webservices are important, so we need to offer
education about it.

* All-Round Hacking
- A bit of this, a bit of that.
= This is the broad direction, it won't create specialists, but it will create
very flexible hackers.

Besides directions the Curriculum will also have topics, sets of courses that
revolve around the same topic. Note that there are also really direction
specific topics which I won't mention here, I will mention topics that are
covered more in depth in some directions (like Databases) but are used in every
direction to some extent.

The main topics are:

* Mathematics
- Discrete math and all that jazz.
= Discrete math is really the basis of computer science, so it's very important.

* Compiled programming languages
- C, C++, C#, Java
= C rules the world, C++ comes next and C# and Java are also useful pretty
important.

* Scripting languages
- Perl, Python, Ruby, Tcl, Php, Lua, Bash
= Third place: Perl. The scripting languages are important in day to day
hacking.

* LISPy languages
- Common LISP, Scheme
= LISP does the Right Thing (well once you finally understand how to program in
it ;-). Scheme is simple LISP and also the GNU Extension Language.

* Programming methodologies
- Procedural, Object-Oriented, Aspect-Oriented, Extreme Programming, etc
= Many programming methodologies exist and they can all be useful.

* Databases
- MySQL, PostgreSQL, SQL, normalization
= How to work with and design databases.

* Adminning
- Cron, insmod, apache, etc
= Getting a system to run and keeping it running. Setting up networks, etc.

* Business
- How to market your product, etc
= Some business education is necessary to make Free Software win from
proprietary software on the global market.

* Other stuff
- Mental techinques, advocating, etc
= All stuff that's not related to any other topic goes here. For example a
course about mental techinques (brainstorming, focussing, etc) and a course
about advocating Free Software.

Greetings,

Peter





reply via email to

[Prev in Thread] Current Thread [Next in Thread]