CS12: Introduction to Computer Science

for Science, Math and Engineering

Winter 2001

 

Class meets on MWF 10:10 -- 11:00 in Watkins 1000

 

Instructor:             Deganit Armon

Office:                    A375 Bourns

Office hours:         M 12-2, W 11-12, or by appointment

Phone:                    787-6437

email:                      deganit@cs.ucr.edu

Class website:       http://www.cs.ucr.edu/~deganit/cs12/cs12.html

 

TAs                                                                                        office                      office hours

Ann Ratanamahatanan       ratana@cs.ucr.edu               A212                       T 1:30─ 3:30          W 12─ 1

Jessica Lin                             jessica@cs.ucr.edu              B230                       T 3:30─ 5               R   3:30─ 5                            

Theodor Ilie                          theo@cs.ucr.edu                                                  T 11--12                  F   12─ 2

 

Topics

This course is a continuation of CS10 and will explore more complex programming issues.  A grade of C- or better in CS10 is a prerequisite for this course.  Topics covered will include object-oriented program design, user defined types and C++ classes, operator overloading, virtual functions, friends, inheritance, templates, the Standard Template Library, functions and recursion, dynamic data allocation and pointers, not necessarily in this order.  The course will also include an introduction to Unix and makefiles.   At least one project and one lab will have to be completed in the Unix environment.

 

Grading 

Programming projects:                        45%

labs:                                                        20%

midterm:                                                 15%

final:                                                       20%

 

Grading is on a straight curve (A 90% and above, B 80-89%, C 70-79%, D 60-69%, F below 60%).  Please note that projects make up 45% of the grade.  This means it is not possible to pass the class without doing the projects, even if you ace the tests. The final is comprehensive, with more emphasis on the second half of the course. 

 

Each student will be assigned a random code which will be mailed to your account.  Grades will be posted to the website, as they become available,  sorted by this code.  This way you can not only see your own grade, but also compare your progress with the rest of the class. 

 

All course material will be posted to the class website.  Labs and programming assignments are turned in and graded electronically.  A fine introduction to the environment, including detailed instruction on electronic turnin can be found at http://www.cs.ucr.edu/~klick.   Labs are due at the end of the lab period and will not be accepted late.  Labs are designed to be completed in under three hours.  However, lab assignments will be posted at the beginning of each week to allow extra time to work on them, should you feel this is necessary.  Assignments are due on the date and time given on the assignment sheet, usually late at the end of a weekend.  No late assignments will be accepted, but partial credit will be given for partially complete projects.  Extra credit opportunities will abound, in labs, assignments and on tests.