15.08.2013 Views

General Computer Science 320201 GenCS I & II Lecture ... - Kwarc

General Computer Science 320201 GenCS I & II Lecture ... - Kwarc

General Computer Science 320201 GenCS I & II Lecture ... - Kwarc

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Chapter 1<br />

Preface<br />

This Document<br />

This document contains the course notes for the course <strong>General</strong> <strong>Computer</strong> <strong>Science</strong> I & <strong>II</strong> held at<br />

Jacobs University Bremen 1 in the academic years 2003-2012.<br />

Contents: The document mixes the slides presented in class with comments of the instructor to<br />

give students a more complete background reference.<br />

Caveat: This document is made available for the students of this course only. It is still a draft<br />

and will develop over the course of the current course and in coming academic years.<br />

Licensing: This document is licensed under a Creative Commons license that requires attribution,<br />

allows commercial use, and allows derivative works as long as these are licensed under the same<br />

license.<br />

Knowledge Representation Experiment: This document is also an experiment in knowledge representation.<br />

Under the hood, it uses the STEX package [Koh08, Koh12], a TEX/L ATEX extension for<br />

semantic markup, which allows to export the contents into the eLearning platform PantaRhei.<br />

Comments and extensions are always welcome, please send them to the author.<br />

Other Resources: The course notes are complemented by a selection of problems (with and without<br />

solutions) that can be used for self-study. [Gen11a, Gen11b]<br />

Course Concept<br />

Aims: The course 320101/2 “<strong>General</strong> <strong>Computer</strong> <strong>Science</strong> I/<strong>II</strong>” (<strong>GenCS</strong>) is a two-semester course<br />

that is taught as a mandatory component of the “<strong>Computer</strong> <strong>Science</strong>” and “Electrical Engineering<br />

& <strong>Computer</strong> <strong>Science</strong>” majors (EECS) at Jacobs University. The course aims to give these students<br />

a solid (and somewhat theoretically oriented) foundation of the basic concepts and practices of<br />

computer science without becoming inaccessible to ambitious students of other majors.<br />

Context: As part of the EECS curriculum <strong>GenCS</strong> is complemented with a programming lab that<br />

teaches the basics of C and C ++ from a practical perspective and a “<strong>Computer</strong> Architecture”<br />

course in the first semester. As the programming lab is taught in three five-week blocks over the<br />

first semester, we cannot make use of it in <strong>GenCS</strong>.<br />

In the second year, <strong>GenCS</strong>, will be followed by a standard “Algorithms & Data structures”<br />

course and a “Formal Languages & Logics” course, which it must prepare.<br />

Prerequisites: The student body of Jacobs University is extremely diverse — in 2011, we have<br />

students from 110 nations on campus. In particular, <strong>GenCS</strong> students come from both sides of<br />

the “digital divide”: Previous CS exposure ranges “almost computer-illiterate” to “professional<br />

1 International University Bremen until Fall 2006<br />

i

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!