UCR CS 10: Introduction to Computer Science I

Summer 2003


Lecture Schedule   Lab Schedule   Exam Schedule   Turnin   Previous CS10's  

Overview

In CS 010, you'll become familiar with the basic concepts underlying computer programming, and learn to apply those principles using a powerful and widely used programming language, C++. By the end of the quarter, you should be able to write well-crafted, non-trivial programs in this language.

Catalog description : 30 hours lectures; 30 hours laboratory.
Prerequisite: Math 009A (may be taken concurrently).
Solving problems through structured programming of algorithms on computers, using the C++ object-oriented language. Topics include variables, expressions, input/output (I/O), branches, loops, functions, parameters, arrays, strings, file I/O, and classes.
Also covers software design, testing, and debugging

Basic information

Class web site: www.ilearn.ucr.edu
Enrolling in this course gives you automatic access to the UCR "ilearn" site: your login id is the name field of your ucr student email address (name@student,ucr,edu), and your initial password is your Student ID (no dashes or spaces).
ALL communication with the class (announcements, assignments, handouts, etc.) will be via the ilearn site (NOT this course outline page). Some communications may be made only via the ilearn site, so you are expected to check it regularly.
Instructor : Brian Linard (blinard@cs.ucr.edu)
Office hours: Monday to Thursday, 10:00 am to noon, by appointment only. Office: Surge Bldg. 340.
Lectures: MTWR 4:00 to 5:30 pm in Geology 1408

Teaching Assistant: Titus Winters (titus@cs.ucr.edu)
Office hours held in Surge Bldg. 282.
Lab schedule
TR 8:00 to 11:00 am Surge Bldg. 283

Text Book: Problem solving with C++ - the object of programming, by Walter Savitch, fourth edition, Addison Wesley
You can download code samples & powerpoint presentations of the text from the web site.
For optional books, visit the Additional Resources section below.

Course grading: Letter grades are assigned very approximately according to the usual 90/80/70/60 scale out of 100 total course points, with 90 and above corresponding to an A, 80 and above to a B, 70 and above to a C, 60 and above to a D, and less than 60 to an F. +/- grades will likely be given. A+'s will be given to students in the high 90's who also have turned in all required material and many of the challenge in-lab excercises. The course is divided into two grading components, combined as a weighted sum to total 100 points:
65%: Theory component: 15: In-class Quizzes
20: Midterm
30: Final
35%: Practical component: 20: Programming competency (see note)
  7: Style, adherence to good coding standards
  8: In-lab practical tests

Programming competency:
There are two ways of building Programming competency points (200 points equals 20% of total score)
  • Attending labs & completing the in-lab exercises
    There are 10 labs, each worth 10 points (2 for attendance & punctuality, 8 for successful completion of the exercises)
  • Completing home programming asignments
    There are 10 assignments, each with a specific due date, and each worth 20 points
    Early submission earns extra points, late submission loses points (in 2 point increments - detailed dates are given on the individual assignment postings)

There are two requirements:
1) You must attend lab 1 (introduction), and labs 5 & 8 (lab practicals)
2) You must submit at least 3 home programming assignments.
If you do not satisfy both these requirements you cannot earn more than a D for the practical component, and hence for the whole course.

Apart from that, it is entirely up to you how you manage the 200 programming points (in fact, if you attend all 10 labs and complete all 10 assignments, you could earn 300 programming points or more, thus collecting a full 10% bonus toward your final score)

To ensure minimum competency in successive courses requiring a C- or better in this course, the following grading scheme will be used: a C- minimum in both components is necessary to achieve a C- minimum for the final course grade, regardless of the components' weighted sum; otherwise, the final course grade will be no greater than a D+. For example, a B in the lab component and a D in the lecture component might yield a weighted sum of a C, but would instead result in a final course grade of D+. A C- in either component corresponds to roughly 70% of the total points for that component.

Approximate Time Requirements: This is a four-unit CS course. As such, you should expect to spend the following approximate amount of time: 6 hours/week in lecture
6 hours/week in lab
12 to 20 hours/week doing individual study (readings, homeworks, programming, lab preparation, etc).
Please don't underestimate the time you will need to spend on this course. These are real time amounts spent by average successful past students. Computer Science and Engineering are challenging disciplines requiring extensive time to master.

Lecture schedule

Subject to change as the quarter progresses.
Read the book before lecture! Reading ahead is one of the most effective ways of doing better in class -- you'll be amazed how much more comprehensible and useful the lectures will be.

Lab schedule

Subject to change as the quarter progresses.

Exams

Subject to change

General course features and policies (please read these carefully)

Lab guidelines (please read these carefully)

Electronic assignment turn-in

Anonymously report suspected cheating

Additional Resources