UCR CS 010:
Introduction to Computer Science I
Winter Quarter 2003: January 3, 2003 - March 14, 2003
This page is still under construction and should be finished
soon after classes start.
-
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 :
-
Lecture, three hours; laboratory, three hours.
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
-
Midterm Solution:
-
Midterm
-
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 part of your ucr
student email address, 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 and office hours:
-
Dr. Brian Linard
(blinard@cs.ucr.edu)
-
Wednesday, 2:00 pm - 5:00 pm.
Otherwise, by appointment only,
requested by email, and not guaranteed unless you receive a
confirmation reply.
Office:
Surge 340
-
Teaching Assistants:
-
Ashish Sharma
(asharma@cs.ucr.edu)
-
Haifeng Li
(hli@cs.ucr.edu)
-
Song Lin
(slin@cs.ucr.edu)
-
TA office hours:
-
TBA
-
Held in
Surge Bldg. A261, or in the lab, following lab sessions.
-
Lectures:
-
|
Section 1:
|
Tue & Thu
|
12:40 am
|
-
|
2:10 pm
|
in
|
Watkins Hall 1000.
|
|
Section 2:
|
Tue & Thu
|
2:10 pm
|
-
|
3:30 pm
|
in
|
Bourns Hall A125.
|
-
Labs:
-
Lab attendance is mandatory. You are expected to stay in the
lab for the entire lab session, working on material related to this
course.
-
-
Text Books:
-
Required:
Absolute C++, W. Savitch, 1st ed., 2003 Addison-Wesley.
-
For optional books, visit the
Additional Resources section below.
-
Course grading:
-
Letter grades are roughly assigned according to the usual
90/80/70/60 rule: 90% and above correspond 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.
In addition, the course is divided into two grading components
combined as a weighted sum:
-
65% Lecture component:
-
15% Homework and Quizzes.
-
20% Midterm.
-
30% Final.
-
35% Lab component:
-
10% In-lab programming exercises and attendance.
-
7% Home programming assignments.
-
11% In-lab independent programming projects.
-
7% Final home programming project.
-
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+.
-
Approximate Time Requirements:
-
This is a four-unit course. As such, you should expect to spend
the following approximate amount of time:
-
3 hours/week attending the lectures.
-
3 hours/week attending the lab sessions.
-
6 to 10 hours/week doing individual study (readings, homework,
programming, lab preparation, etc).
-
Do not underestimate the time you will need to spend on this
course. These are real time amounts spent by average successful
past students.
-
Course evaluation:
-
We may provide midterm as well as end-of-term course evaluations.
Midterm evaluations are an opportunity for students to let us know
what is working and what we can improve, while there's still time
to change.
Please help us to help you by filling out the course evaluation
forms.
-
Material covered: Lecture doesn't cover all required material,
which also appears in the course books and may be covered only in
the lab sessions.
-
Academic dishonesty: cheating will be strongly punished
(typically with an F in the course). You can report cheating
anonymously at:
https://www.cs.ucr.edu/cheating/.
Assignment submissions must represent your original work. Copying
from any sources (web, other books, past or current students, etc.)
is strictly prohibited -- learning to program requires you to learn
to figure things out by yourself; using existing code and other
resources becomes important later on in your studies. While
discussing assignments together is encouraged, team coding
(even of pseudo-code) or letting others see your code are
specifically not allowed. Be aware that programs are
automatically compared to the current and prior quarter's programs
for plagiarism, using a sophisticated code-comparison tool that
ignores insignificant differences (like whitespace and variable
names). If you're smart enough to fool the instructors, TAs, and
code-comparison tools, you're more than smart enough to do the
programs on your own!
-
Final Exams are scheduled by the University, not by the
instructor, and are correlated to the course sections. What that
means is that you must take the final exam scheduled for the
section you are enrolled in.
-
Regrade policy:
requests for corrections must be submitted inwriting and within
one week of the distribution of the graded material. The entire
exam/assignment may be regraded, not just the problem in question,
so the grade may go up or down. So think your regrade requests
through carefully.
Likewise, grade-database errors should be pointed out within
one week of posting.
-
Final grades: Per university policy, changes to your final
grade will be made only in the event of a clerical error.
You should not ask the instructor how far you were from a
cutoff and what extra work you can do to improve the grade.
-
Communicating with the instructors and TAs: when sending
electronic mail to the instructors or TAs, include in the body of
your message your full name, student ID number, and
UCR email address, and the course & lecture section you are
enrolled in. Keep in mind that there may be several students with
names similar to your own, and that an instructor may be teaching
multiple courses, comprising several hundred students, so proper
identification is essential for a prompt reply. Also, please try to
be polite and use reasonable grammar and formatting.
-
Cell phones: During lectures and lab sessions, we expect you
to turn off your cell phone. If you can't make sure that your cell
phone is off during those periods, please leave it at home.
-
Homework and lab reports: Homework assignments and
at-home programming projects must be turned-in
electronically and must
comply with our
report template.
-
Reading: Read the current book sections before coming
to class, and attend all lectures in their entirety. To encourage
these important college study habits, we may give a few simple pop
quizzes during the quarter, at any time during lecture.
-
A+'s may be given to students submitting all required
material and possibly turning in extra (quality) material (typically
lab-related) going beyond the course requirements.
-
Success in computer science courses requires time. A
typical student needs to spend 12-16 hours per week on this course
(including lecture and lab). For your own benefit, please allocate
that time.
-
Students are required to stay the full three hours of lab session
every week. You'll have in-lab exercises, quizzes, discussions, and
practical exams. Work ahead or on extra course-related material if
you finish early.
-
During lab discussion time, students should move away from their
computers to the whiteboard.
-
Prepare for lab before arriving.
-
All persons in lab during scheduled lab time must be formally
registered in that section. No swapping sections and no unregistered
people in the lab are allowed.
-
All grades will be posted on the
ilearn site as soon as they are available.
© 2003
Wagner Truppel. All rights reserved.