UCR CS 005: Introduction to Computer Programming
Fall 2004
Eamonn's slides for Wednesday 29 Sep and Friday Oct 1 are here
Eamonn's slides for Monday 4 Oct and Wednesday Oct 6 are here
Eamonn's slides for Friday 8 Oct here
Eamonn's slides for Monday 11 Oct here
Eamonn's slides for Wednesday 13 Oct here
Eamonn's slides for Friday 15 Oct here
Eamonn's slides for Monday 18 Oct here
Eamonn's slides for Friday 22 Oct here
Eamonn's slides for Monday 25 Oct here
Eamonn's slides for Wednesday 27 Oct here
Slides for Friday and Monday will be here
Eamonn's slides for Friday 5 Nov here
Eamonn's slides for Monday 8 Nov here
Eamonn's slides for Monday 15 Nov here
Eamonn's slides for Wednesday 24 Nov here
No notes needed for today. Exams have been graded, and your final class
grade (assuming perfect last homework and perfect last quiz) will be available
in class today
datacompression.ppt
Eric has made nice sample animations download them here
Many thanks to Steve Chen for help preparing
these materials.
Lecture
Schedule Lab
Schedule Turnin
In CS 005, 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, Visual Basic. You should learn to solve basic problems
by designing non-trivial programs.
Catalog description :
CS005. Introduction to Computer Programming, 3
hours; laboratory, 3 hours. Prerequisite(s): MATH 003 or equivalent. An
introduction to computer programming for nonengineering and nonscience
majors and for students considering taking CS 010 but needing additional
preparation. Topics include the history of computing, basic computer
operation, the notion of an algorithm, and programming constructs such as
variables, expressions, input/output, branches, loops, functions,
parameters, arrays, and strings. Credit is not awarded for CS 005 if it
has already been awarded for CS 010.
Class web site:
http://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 check it
regularly. Instructor(s) :
Dr Eamonn Keogh (eamonn@cs.ucr.edu)
Office hours: Open Door Policy
Office: Surge Bldg. 323.
Lectures:
Lecture 001: MWF 3:10pm-4pm HMNSS 1503
Teaching Assistant:
Eric Cheung chuncheung@cs.ucr.edu
Office hours held in Surge Bldg. 282.
Office Hours: Tuesday 1:00pm to 3:00pm, or by appointment
021 (12118). LAB Thursday 2:10pm-5pm SURGE 170
022 (12119) LAB Friday 11:10am-2pm SURGE 171
Textbook:
The Visual Basic .NET Coach with Visual Basic .NET CD, by Jeff Salvage,
Drexel University, 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 roughly assigned 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 be given.
The course is divided into two grading components, combined as a
weighted sum to total 100 points:
70%: Lecture component:
20: Quiz and In-class Exercises, Homework
20: Midterm
1
30: Midterm 2
(There is no final)
30%: Lab component:
18: Scheduled lab section attendance, participation,
exercises
12: At-home programming assignments
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 useful the lectures will be. We'll
follow the book closely.
The Chapter references are to the class text
book.
Lecture slides for each
chapter can be accessed by clicking the appropriate reference.
Subject to change as the quarter progresses.
- Week 1: Lab 1:
Intro to Basic Objects
- Week 1: Lab 2:
Cutest Girl and Boy
- Week 2: Lab 3:
Simple Calculator
- Week 2: Lab 4:
Thermometer
- Week 3: Lab 5:
Payroll Application
- Week 3: Lab 6:
Sales Taxes Application
- Week 4:
Lab 7:
Dice Rolling Application
- Week 5: Lab 8:
Payroll Application Extension
- Material covered: You'll be responsible for learning material
covered in lecture, in the textbook, and in lab. Lecture does not cover all
required material alone.
- Collaboration policy (TA/instructor
may override for particular assignment):
- Midterms, quizzes, lab practical --
Obviously no collaboration
- Homeworks -- Collaboration strongly
ENCOURAGED. Study groups are great. You should still do your own solution,
and should not turn in *identical* solutions as others, but similar
solutions are O.K. Remember though -- these are designed to help you on the
assesment items, so relying too heavily on others will hurt you during
assessment. Also, we may give homework problems whose answers are in the
book. That's so you get quick feedback; you should submit your answers, not
merely copies of the book's answers.
- In-lab exercises -- Collaboration strongly
ENCOURAGED. If you complete an exercise, feel free to help others --
teaching enhances your own learning.
- At-home programming assignments -- Limited
collaboration may be acceptable, but programs must represent YOUR OWN
original work. Sharing code or team-coding are not allowed. Copying code
from ANY source (any book, current or past students, past solutions, etc.)
is not allowed. Collaboration may consist of discussing the general approach
to solving the problem, but should not involve communicating in code or even
pseudo-code. Students may help others find bugs. Your code must be unique --
the odds of randomly obtained highly-similar code is very low. Computing,
like surgery or driving a car or playing golf, can only be learned by doing
it yourself!
- Academic dishonesty:
please don't cheat, O.K.? You can report cheating anonymously at: https://www.cs.ucr.edu/cheating/.
Assignment submissions must represent your own original work. Copying from any
sources (web, other books, past or current students, etc.) is not allowed.
- Lab enrollment : To reduce disruptions
and provide for the best educational environment, all persons in lab during
scheduled lab time should be formally registered in that section. In general,
no swapping sections and no unregistered people in the lab are allowed, even
if there are extra computers.
- Switching/adding/dropping lab and lecture
sections: all add, drop, and section changes of all lower division
Computer Science courses, after the period when students can do so
electronically is over, are done through the College of Engineering's
Student Affairs office. Neither the instructors nor the CS department
itself can sign any add/drop forms, nor can they arrange for section changes.
Please go to Student Affairs, Bourns Hall A159, for any such changes.
- Regrade policy: regrade requests must be submitted in writing
and within one week of the distribution of the graded material.
Grade-database errors should also be pointed out within one week of posting.
- Cell phones: During lectures, lab
sessions and visits to Dr. Keoghs office, you must turn off your
cell phone.