Personal tools
You are here: Home Education Courses Introduction to Computer Science I 07/08
 

Introduction to Computer Science I

Winter Term 2007/2008

Prof. Bernt Schiele, Dr. Guido Rößling

Contents



News


  • [22.8.2008] For questions during the preparation for the exam the following tutor consulting hours are offered in room S202/A313 (Piloty-Building):
    woche
    Mo
    di
    mi
    do
    fr
    08.09. - 14.09.08
    -
    09.09., 15.00-16.30
    -
    11.09., 15.00-16.30-
    15.09. - 21.09.08
    -
    16.09., 15.00-16.3017.09., 15.00-16.3018.09., 15.00-16.3019.09., 15.00-16.30
    22.09. - 28.09.0822.09., 14.00-17.00
    23.09., 14.00-17.00
    (24.9., Exam)


  • [05.08.2008] The next ICS1 exam will be written on 24.09.2008, 8-10 am.
    For a better preparation we will offer tutor consulting hours in the 2 weeks before the exam.

About this course


The lecture presents important basic principles of computer science, including concepts of programming languages, elementary algorithms, types of abstract data, simple data structures (stacks, lists, trees), recursion, and algorithm efficiency analysis. Students will be encouraged to think in formal systems and to accept the necessity of abstraction and the importance of appropriate model formations in computer science. As teaching language we will use Scheme in the first part of the term while Java will be used in the second part of the term.

The practical exercises accompanying this lecture encompass 12 weekly exercises, a trial exam and a two-week lab after the lecture period. For each of those you can achieve points, and if you gather enough points, you are eligible for a bonus in the exam for this lecture.


Lecture

  • Time: Monday,  16.15 - 17.55 and Thursday, 11.40 - 13.20
  • Place: S202/C120 (Piloty-Building)
  • First lecture: Monday, 15.10.07


TopicSlidesslides
9-on-1
Last Update
date
related Book Chapter
Introduction
T0
T0
19.10.07
15.10.

Basic Elements of Programming
T1
T1
19.10.0715./18.10.
HTDP 1-5
Structured Data Types, Data Abstraction
T2
T2
19.10.07
18./22.10.
HTDP 6-8
Recursive Data Types and Structural Recursion
T3
T3
25.10.07
22.10.
HTDP 9-14
Evaluating Order and Lexical Scoping
T4
T4
29.10.07
25.10.
HTDP 15-18
Abstracting Designs
T5
T5
12.11.07
29.10./1.11.
HTDP 19-24
Generative Recursion
T6
T6
12.11.078./12.11.
HTDP 25-28
Complexity of Algorithms
T7
T7
15.11.0712./15.11.
HTDP 29
Accumulating Knowledge
T8
T8
15.11.0715.11.
HTDP 30-32
Interpreter based on the Substitution Model
T9
T9
15.11.0719.11.
SICP 4.1, 3.5
Assignments and other effects
T10
T10
23.11.07
22.11.
HTDP 34-37
Environment Model
T11
T11
23.11.0722.11.
SICP 3.2
--Java Part T12-T21 in one file--

T12-T21
23.11.07


Classes and Objects
T12
T12
23.11.0726./29. 11.JKarel in a JAR
Information about usage
InheritanceT13
T13
23.11.073. 12.
Stepwise RefinementT14
T14
23.11.076. 12.
Java Elements EncapsulationT15
T1523.11.0710.12.

Static TypingT16T16
23.11.0720.12.

JavaDoc-Mini IntroJavaDocjavaDoc
23.11.0720.12.

Genericity
T17
T17
23.11.077. 1.
On slide 32, the correct notation should be Collection, Sink, not Collection, Sink.
Exceptions
T18
T18
23.11.0714. 1.

TestingT19
T19
23.11.0717. 1.
Test Demo Sources as ZIP
StreamsT20
T20
23.11.0721. 1.
FIle I/O Demo Sources as zip
GUIT21
T21
23.11.0728. 1.
GUI Demo ZIP / Translator JavaDoc as a ZIP file
Please unzip and run using java GUITest or java -cp translator.jar:. I18NDemo


Different copyshops, e.g. 'Die Kopiethek', Magdalenenstr. 5, offer a possibility to download and print scripts for the price of a normal photocopy.
New: 'Die Kopiethek' has also a smaller number of preprinted copies of the Java Part T12-21 in stock.

Please keep in mind that printing of lecture slides is not permitted at the HP laser printers in the computer rooms of the RBG. However, if you want to print out at the faculty, you may use the Lanier Printer in room C005 for printing the slides. (! some users reported problems with graphics on this printer)


Exercises

The exercises take place weekly in groups of about 20 students, supervised by a tutor. Your tutor is your first contact person for questions concerning the contents of lectures and exercises.  In addition to the weekly exercises, we strongly encourage you to take advantage of the daily consultation hours of the tutors if you have any questions.
The assignment of students to exercise groups will be organized with the webreg system.

Registration is closed. You can see your exercise group in Webreg. Please follow this link...   In case you had problems with the registration, please contact inf1@mis...


Exercise dates   

nachname
vorname
gruppe
zeit
raum
tutormail (@mis.informatik.tu-darmstadt.de)
GalickisAleksandrs31(ICS)Tuesday, 08:00 - 09:40S202/A102tutor31
FranekAndreas32(ICS)Friday, 13:45 - 15:25S103/111tutor32

The exercises start in the week of Oct. 22th. The last exercise is scheduled for the week of Jan. 29th, 2008.

Evaluation of the home assignments

The home assignments are evaluated by your tutor. Per exercise you can get up to 10 points, so the maximum number of points is 120 points in the 12 exercises. You can view your current number of points in the webreg system. Deadline for handing in the home assignment by email is Monday, 8.00, two weeks after the publication of the exercise sheets.

Working in Groups

The home assignments can be solved alone or in groups of up to three students. If you work in a group, you must tell your tutor at least one week before the deadline which students the group consists of, and which student is responsible for the submission of the assignment. One submission per group is sufficient. However, we expect that each group member is knowledgeable about all parts of the assignment.

Computer Rooms

For working on home assignments, the computer rooms of the RBG can be used. At certain times students of ICS1 have priority in the computer room S202/C005. The exact times for this are communicated by a timetable at the door of the room.

Changing the exercise group

Changing an exercise group is only possible in exceptional cases. Please talk to your tutor in this case.

Exercise Sheets

nr
publication datedeadlinematerialstemplates for home assignment
proposal for solutionExtrasupdates

1

Mon, 22.10.07

Mon,05.11.07

ICS 1
T8  T9all

Template A8 updated. Definitions evaluate cleanly in DrScheme now.

Important: Comment all functions in the home assignment at least with contract,  purpose, example and test to get full grade.
Please make also use of auxiliary functions when useful.

2

Mon, 19.10.07

Mon, 12.11.07

ICS 1
T6  T7
all


[05.11.] A6: You can use  eq? to test  symbols and integers for equivalence

3

Mon, 05.11.07

Mon, 19.11.07

ICS 1
T6 T7
all

[05.11.] A7: Definition of the non-trivial permutation case corrected: "input list  lst is not empty"  (was : "input list lst has more than one element")
[10.11.] Template A7: Contract for insert-everywhere corrected

4

Mon, 12.11.07

Mon, 26.11.07

ICS1
T7
all


5
Mon, 19.11.07
Tue, 04.12.07ICS1
T6
all


6

Mon, 26.11.07

Mon, 10.12.07

ICS1
T7 T8
all
interpreter T3
slide T11.23 (EM & local)

EM step-by-step
1   2 (T5)
[5.12.] correction in T5 solution proposal; 2nd example for EM;

7

 Mo, 3.12.07

Mon, 17.12.07

ICS1
T8
JAR for JKarel
all



Mo, 10.12.07
-
repetition &
last year's trial exam for preparation
-
-
Trial Exam
compressed (8p.)
full (21p.)

8
Mon, 17.12.07Mon, 14.01.08ICS1
T5
all


9
Mon, 07.01.08Mon, 21.01.08ICS1
T6
all


10
Mon, 14.01.08Mon, 28.01.08ICS1
T5 IStoreManager2.java IFilterPredicate.java
Tests.java
all

If you need more than one generic parameter, they are separated by comma: public <T extends Person, Q extends T>. As you can see, since T is already "known" to be a type, it can be used for the "extends" phrase.
In Tests.java you will find several tests that may make implementing and checking the homework assignment easier.
11
Mon, 21.01.08Mon, 04.02.08ICS1
T6
all


12
Mon, 28.01.08Mon, 11.02.08ICS1

group tasks




Trial exam

The trial exam takes place on Dec. 17th, 2007.
The registration is done via Webreg, open from 26.11 till 10.12.07. Follow this link...

  • Date: Monday, 17. Dec. 2007 @ 6pm
  • Duration: 120 min
  • Room: S103/23
  • Contents: including lectures & exercises until the exam date (up to T15)
  • Allowed aids: Non-native English speakers may bring a dictionary. Dictionaries will be checked during the exam.
  • Bring the following to the exam:
    • a blue or black pen
    • a valid ID card
    • your student card


Lab

At the end of the course, there will be a two-week lab, during which the students will be given a programming task and work on it in teams of four students. Additional details will follow.

Registration: As of now the registration for the lab course is open through WebReg. Please register in groups of four if possible, single registrations and smaller groups will be filled up to groups of four! Registration is possible from 7.12.2007 until 11.01.2008 4pm!

Duration: 2 weeks
Date: 18.2.2008 - 29.2.2008


Additional consulting hours for early beginners:


Due to the early publication of the task description at short notice, we cannot provide full tutoring service for the upcoming week. However, some tutors will offer additional general consulting hours in the week 11.2.2008 - 15.2.2008. In case of problems please contact them first during their consulting hours! Regular tutoring will start from 18.2.2008 with the assigned tutors. They will do the attestation in the end.


time
monday
tuesday
wednesday
thursday
friday
 10-12 o'clock
 Christian Thaler
(A213)
 Christian Thaler,
Oliver Schwahn
(A313)
 Christian Thaler,
Oliver Schwahn
(E315)
  Christian Thaler
(E102)
 Christian Thaler,
Oliver Schwahn
(E302)
 12-18 o'clock
 Steffen Lortz
(A213)
 Dominik Schulz
(A313)
 Lei Xuan
(E315)
 Max Zeller
(E202)
 Dominik Schulz
(E302)

Task description:


The task description for the lab course is available here along with the binaries for Windows, Linux and the required framework. Please download at least the task description, the Robocup package for your operating system and the Java Framework.


BinariesCode
documentation
Task description


ICS1-Lab.pdf
ATAN
Atan2.jar  atan2.zip
Code skeleton
 framework.zip 
Utilities
utils.jar, XmlToDot.jar

utils.zip
Windows
soccermonitor.exe
VMWare-Image
Graphviz


Linux
robocup-linux.tar.gz
Graphviz


VMWare
VMWare Player



For users of other unix based operating systems (for instance Mac OS X) the source files of the server above can be downloaded here:


source files
rcssbase
 rcssbase-10.0.11.tar.gz
rcssserver rcssserver-10.0.7.tar.gz
rcssmonitor rcssmonitor-10.0.0.tar.gz

Send all mails concerning the lab to: inf1-lab(at)mis(dot)informatik(dot)tu-darmstadt(dot)de


Consulting hours

During each day of the term, two consulting hours are offered by the tutors. These consulting hours give you the possibility to get advice and answers if you did not understand something from a lecture or an exercise. Three different types of consulting hours offered: Theory, Pool and Newbie:

Theory consulting hours   

The theory consulting hours mainly take place in room A313 (see the schedule below for times and locations). These consulting hours are meant for any type of questions regarding lecture and exercise topics.

Pool consulting hours   

During the pool consulting hours, a tutor will be present in the computer room S202/C005. He will answer questions about the practical part of the home assignments, and also help you if you have troubles with the development environment installed on the RBG machines.  You can recognize the  tutor's place by a sign on top of his monitor which reads "GdI1+ICS1 Tutor".

Newbie consulting hours   

As our experience shows, the knowledge about computer science of the students in ICS1 varies very strongly. The newbie consulting hours are especially for students who had little or no prior exposure to topics of computer science such as programming. These consulting hours run particularly under the slogan “there are no stupid questions”. They do not directly concern the solving of particular exercises - this is the purpose of the theory and pool consulting hours. If there are no specific questions from the students, the tutor may also choose to present and discuss some topics on his own.


Consulting hour times and locations

Last consulting hour: Fr, 1.2 (theory); Fr, 8.2. (pool)

Timemonday
thusdaywednesdaythursday
friday
10.30-11.30
pool (C005)
    
11.30-12.30    pool (C005)
12.30-13.30    theory (A313)
13.20-14.20newbie (A313)
newbie (A313) *
theory (A313)*
theory (A313)

14.30-15.30  pool (C005)pool (C005) 
16.15-17.15 pool (E0)   

*On 6th and 7th of november in room E302


consulting hours for exam preparation (3.3.-14.3.08)

week
Mo
tue
wed
thu
fr
03.03. - 07.03.08
14.00-15.00, A213
10.00-11.00, A313
13.20-14.20, A313
14.00-15.00, E302
 
10.03. - 14.03.08
14.00-15.00, A313
14.00-15.00, A313
14.00-15.00, E202
14.00-15.00, A313
13.00-14.00, A313
14.00-15.00, A213

Exam Bonus

With the acquired points from exercises, trial exam and lab you can improve your result in the exam by up to a whole grade (e.g. 3,0 to 2,0). In order to get the bonus, you have to reach at least 25% of the exam-points. The following exercise-point boundaries apply for the exam bonus:

  • 240 points and above: improvement of one grade stage (e.g. 3,3 to 3,0)
  • 280 points and above: improvement of two grade stages (e.g. 3,3 to 2,7)
  • 320 points and above: improvement of three grade stages (e.g. 3,3 to 2,3)

The bonus points are converted into exam points, i.e. every bonus point between 200 and 320 will increase the number of points in the exam.

The bonus can also affect passing of the exam. It is only valid for the first two exams that take place after the course. (Spring 2008 & Autumn 2008)

Students, which got an bonus in ICS1 06/07, can use it in the exam in spring 2008, but were also allowed to aim for a higher bonus by participating again in exercises, trial exam and lab in semster 07/08.
Points achieved in ICS1 lectures before 06/07 can not be used for the bonus.

Exam

Exam registration for Exam in Autumn 2008

The next exam will take place in autumn 2008. Please see your study guidelines to find out whether you need to write the exam in combination with ICS2 and how to register.


Exam in Autumn 2008

  • Date: 24.09.2008, 8:00-10:00
  • Duration: 120 min
  • Rooms:
    Basismodul Informatik (ICS1 part):
    tba  (see this map)
    ICS1 exam: tba  (see this map)
  • Allowed aids: Non-native English speakers may bring a dictionary. Dictionaries will be checked during the exam.
  • Bring the following to the exam:
    • a blue or black pen
    • a valid ID card
    • your student card
  • Students writing the 'Basismodul Informatik' will write the ICS1 Part and the ICS2 Part separately (ICS1 on 24.09.; for ICS2 please see lecture's website)



Exam Results (Spring 2008)


The Results of the ICS1 / BM Inf (part ICS1) are published in Webreg.
(Remark: Please ignore the message of Webreg 'Sie sind zu dieser Klausur nicht angemeldet'. It has nothing to do with your exam registration.)

Grades

Minimum points needed to pass the exam were 45 points (incl. bonus). With 120 or more points the exam is graded 1,0.

points incl. bonus
Note
< 45.05
=> 45.04.0
=> 53.53.7
=> 61.5 
3.3
=> 70.03.0
=> 78.5 2.7
=> 86.52.3
=> 95.02.0
=> 03.51.7
=> 111.51.3
=> 120.001.0

Bonus
Details about the exam bonus can be found in section exam bonus. In this exam the maximum bonus of 3 grade stages is equivalent to 25 exam points, which were linearly mapped to your bonus. Please note, that you need to achieve at least 25% (32,5 Pt.) of the written exam, in order to benefit from the bonus.

Insight
You can take a look at your exam on Mon, March 31st, between 9.00 and 13.00 in Room S202/A102.

Oral Re-Examinations

Please note the following if you want to participate in an oral reexamination:

  • Only students, which have written the exam the 2nd or 3rd time, are allowed to take part in an oral exam.
  • The oral reexaminations will take part at the beginning of the semester, the specific dates are not available yet.
  • In order to participate in an oral reexamination for ICS1, you have to register in written form until Monday, 7.4.2008.
    Registration for oral reexamination in BM Informatik will be longer possible (until insight ('Einsicht') for ICS2).
  • Forms for registering are available during the inspection on 31. March, and on the Blackboard next to room B108.
  • The date and further information about structure of the oral re-examinations the will be sent to you by email, and will be also available here.


Exam in Spring 2008

  • Date: 17.03.2008, 8:00-10:00
  • Duration: 120 min
  • Rooms:
    Basismodul Informatik (ICS1 part):
    S313/36  (see this map)
    ICS1 exam: S202/C120 (see this map)
  • Allowed aids: Non-native English speakers may bring a dictionary. Dictionaries will be checked during the exam.
  • Bring the following to the exam:
    • a blue or black pen
    • a valid ID card
    • your student card
  • Students writing the 'Basismodul Informatik' will write the ICS1 Part on 17.3. and the ICS2 Part on 25.3.


Exam registration for Exam in Spring 2008

Please see your study guidelines to find out whether you need to write the exam in combination with ICS2 and how to register.

MCS-Students in the first semester could write in spring an advance exam for the GdI1 part of BM Informatik, for details please see this announcement.  [Update 17.1.] As we were informed from FB4 (Mathematics), all first semester students have new study guidelines and write separate ICS1 and ICS2 exams with registration at the 'Zentrales Prüfungssekretariat'. Therefore the offer of an advance exam is not relevant anymore.


Literature and Material

Literature

  • M. Felleisen, R. Findler, M. Flatt, S. Krishnamurthi. How to Design Programs (HTDP). The MIT Press, 2001. ISBN: 0262062186.
    [Online-Version (english)]
  • H. Abelson, G. J. Sussman, J. Sussman. Structure and Interpretation of Computer Programs (SICP). Springer, 2001. ISBN: 3540423427
    [Online-Version (english)]
  • Christian Ullenboom. Java ist auch eine Insel. Galileo Computing, 2006. ISBN: 3898425266.
    [Online-Version (german)]


Materials

In the first part of the lecture we use the development environment DrScheme for the home exercises. In the second part of the lecture we use the Java development platform eclipse. Both programs are already installed in the computer pools of the RBG. They are also available  for download free of charge:

Scheme

Java


Contact

Name
Function
consulting hours
Room
Dr. Kristof Van Laerhoven
Lecture (1st part of semester) 
S202/B107 
Dr. Guido Rössling
Lecture (2nd part of semester) by appointmentS202/A125
Ulrich SteinhoffExercisesby appointmentS202/B111
Nikodem Majer
Exercises
by appointmentS202/B104
Michael Stark
Lab
by appointmentS202/B104
Christian Wojek
Lab
by appointmentS202/B104

For questions, that cannot be not answered by this web page or by your tutor, as well as for appointments for consulting hours, please use the following email address:
inf1mail.gif


Send all mails concerning the lab to:

inf1-lab(at)mis(dot)informatik(dot)tu-darmstadt(dot)de

Forum

You can use the forum of the "Forum der Fachschaft Informatik" as an unofficial discussion platform for this course (mostly german): GDI1-Forum

by steinhoff, majer last modified 2008-08-22 11:00