CS100J --> Syllabus
Course: Introduction to Computer Programming (4 credits)
Instructor: K-Y. Daisy Fan
Website: http://www.cs.cornell.edu/courses/cs100j/2004sp/
Newsgroup: cornell.class.cs100j

Course Description Learning Objectives Times & Places Staff Material Grades Schedule What To Do Now

Course Description

CS100 is an introduction to elementary computer programming concepts. The emphasis is on techniques of problem analysis and the development of algorithms and programs. CS100J gives students a basic introduction to object-oriented using Java and procedural programming using MATLAB. The pace of the course assumes that the student has some computing experience (e.g., spreadsheet computing) but no prior programming experience.

Learning Objectives

In CS100, students will acquire the following skills:

Times & Places

Lecture
Days
Time
Room
Instructor
      1
TR
09:05am-09:55am OH 255
Fan
      2
TR
11:15am-12:05pm OH 255
Fan
Section
Days
Time
Room
Instructor
      1
T
01:25-02:15pm
OH 245, UP B7 right

Wojciech Moczydlowski

      2
T
01:25-02:15pm
HO 306, UP B7 left Mohamed Elhawary
      3
T
02:30-03:20pm
OH 245, UP B7 right Wojciech Moczydlowski
      4    T
03:35-04:25pm
OH 245, UP B7 right

Xinyang (Joy) Zhang

      5
W
01:25-02:15pm
HO 306, UP B7 right Steve Kang
      6
W
01:25-02:15pm
PH 307, UP B7 left Xinyang (Joy) Zhang
      7   W 02:30-03:20pm HO 401, UP B7 right Mohamed Elhawary
      8
W
03:35-04:25pm PH 307, UP B7 right Jason Li

Upson B7 is a computer lab (split in half, "right" and "left"). The first three weeks and then every other week, section will take place in UP B7 instead of the regular classrooms. The weeks during which you go to the lab are 2/2, 2/9, 2/16, 3/1, 3/15, 4/5, 4/19, 5/3. A reminder of the section location will be posted every Monday.

Staff

Instructor: K-Y. Daisy Fan dfan@cs.cornell.edu
Teaching Assistants:  
Mohamed Elhawary hawary@cs.cornell.edu
Steve Kang sk235@cornell.edu
Jason Li jcl43@cornell.edu
Wojciech Moczydlowski wojtek@cs.cornell.edu
Xinyang (Joy) Zhang jzhang@cs.cornell.edu
See CS100J --> Staff for other course staff and office hours.

Material

Required textbooks:

Optional software:

Grades

You must adhere to the Code of Academic Integrity for all work.

Items that count towards your course grade include homework (exercises, 6 programming projects), lab exercises, quizzes, and exams (prelims, final exam).

Exercises (E)  =   5% (both homework and lab exercises)
Projects  (P)  =  25%
Prelim 1  (T1)  =  10%
Prelim 2  (T2)  =  20%
Prelim 3  (T3)  =  20%
Final     (F)  =  30%

The above point distribution adds up to 110%. We will reduce the weight of your lowest exam by 10%. Therefore, your numeric grade has the following formula:

    Grade = (0.05*E)+(0.25*P)+(0.1*T1)+(0.2*T2)+(0.2*T3)+(0.3*F)-(0.1*min(T1,T2,T3,F))

Your course grade will follow the "cut-off" structure given below. You need an overall score higher than 55 (of 100) to pass the course. After assigning your initial letter grade based on your overall numeric score, we might raise your grade if you have earned sufficient bonus points. We reserve the right to make adjustments both up and down based on our knowledge of each student.

    Overall score    Letter
       92-100        A-,A,A+
       80-88         B-,B,B+
       65-76         C-,C,C+

Schedule

You must write all exams at the scheduled times unless you have another exam officially scheduled at the same time (check exam schedules on http://cuinfo.cornell.edu/Academic/Class.html): An approximate schedule of course topics is given below. See CS100J --> Notes for topics covered in individual lectures.

Weeks Topics
1 Introduction to CS100; Java fundamentals (types, variable, expression); using DrJava
2,3 Objects and their methods; customizing classes; class String; conditional statements
4,5 Methods, constructors
6,7,8 Loops; algorithm and design
9,10 Arrays
11,12 Sorting and searching; analyzing execution time
13,14 MATLAB vectors and matrices, functions, graphics tools

What To Do Now