Dr. Melissa Danforth

Computer and Electrical Engineering and Computer Science Department
California State University, Bakersfield

CSUB Logo
Skip navigation links

Download file viewer

Syllabus
Click on this link to open the Printable Syllabus in a new browser window/tab (Note: The printable syllabus is in plain text format)
Programming Fundamentals
CMPS 221 - Fall 2010
Dr. Melissa Danforth

Office: Sci III 338, 654-3180 
Office Hours: MWF 1:45 - 3:10pm and Tu 3:10 - 4:00pm (or by appointment)
Email: melissa@cs.csub.edu or mdanforth@csub.edu
Course web site: http://www.cs.csubak.edu/~mdanfor/ under Teaching menu
                 http://moodle.cs.csubak.edu/moodle/course/view.php?id=32
Course meets MWF 12:20pm - 1:40pm, Tu 12:20pm - 3:00pm in Sci III 315

Course Description:
Introduces the fundamentals of procedural programming. Topics include  
data types, control structures, functions, arrays, and standard and file 
I/O. The mechanics of compiling, linking, running, debugging and testing 
within a particular programming environment are covered. Ethical issues 
and an historical perspective of programming within the context of computer 
science as a discipline are given.

Prerequisite:
Passing score on ELM OR satisfaction of the ELM exemptions AND a passing 
score on the Pre-Calculus Readiness Test (see Class Schedule for details).

Textbook: 
Starting Out with C++: From Control Structures through Objects, 6th edition.
Tony Gaddis. Publisher: Addison Wesley, 2009. ISBN: 0-321-54588-5.

Material Covered:

Chapter 1	Introduction to Computers and Programming
Chapter 2	Introduction to C++
Chapter 3	Expressions and Interactivity
Chapter 4	Making Decisions
Chapter 5	Looping
Chapter 6	Functions
Chapter 7	Arrays
Chapter 8	Searching and Sorting Arrays
Chapter 9	Pointers
Chapter 10	Characters, Strings and the string Class
Chapter 11	Structured Data
Chapter 13	Introduction to Classes

Attendance:
Students are responsible for their own attendance. The topics covered
in lecture will be listed on the course website. Lab attendance is not 
required but is strongly encouraged.

Academic Integrity Policy: 
Homeworks and labs may be worked on and discussed in groups. If the 
assignment is a group assignment, the group can turn in one assignment
for the entire group. If the assignment is an individual assignment, 
each student must turn in their own code; no direct copying is allowed. 
Refer to the Academic Integrity policy printed in the campus catalog 
and class schedule.

Computer Lab:
The walk-in computer lab in Sci III 324 is available for use by students 
in this course outside of class time on a first come, first serve basis. 
Priority in the lab is given to students who are completing assignments
for Computer Science courses. 

Tutoring is also provided on a limited basis in the walk-in lab. A tutoring 
schedule will be posted on the department website by the end of the first 
week of classes. Students in this course may ask the tutors for assistance 
on assignments. The tutors are not allowed to solve the assignment for you, 
but they can assist with problems like cryptic compiler errors.

Grading:
    Labs/Homework    35%
    Midterms (2)     20% each, 40% total
    Final            25%

Labs:
Lab assignments will be posted on the course website. Labs are worth 10 
points and usually involving writing 1-2 short programs. The labs are due 
at midnight on the day of the lab. Partial credit will be given for incomplete 
labs. Late labs will not be accepted. The lowest lab grade will not be 
counted towards the overall lab grade.

Homework:
Homework assignments and due dates will be posted on the course website. 
Homeworks are worth 20 points and consist of multiple small programs. 
Programs which do not compile may be given partial credit depending on 
the severity of the error. Late homework will be accepted. Late homework 
will be marked down 10% for every weekday it is late. Weekends (Sat. and Sun.) 
count as only one day late (e.g. if it is due Fri and you turn it in Sun, it 
would only be one day late). If there is a notice on the assignment that late
homework will not be accepted beyond a certain date, then that is the final
day homework will be accepted. Otherwise, assignments more than three days
late will not be accepted.

Labs/Homework Submission:
Assignments are submitted by emailing the instructor all assignment code
files from the Computer Science department server. Do not use GMail, webmail 
or any other email method as the campus firewall and spam filter may silently 
reject the email. All assignments MUST be submitted to the instructor's
Sleipnir account (melissa@cs.csubak.edu) and not the campus account. 

Refer to the Lab 1 handout on the course website for instructions on how to 
use the Computer Science department email. If you believe you submitted the 
assignment on time but the instructor has not received the email, contact the 
instructor.

Midterms: 
Midterm 1 will be given on Monday October 4, 2010
Midterm 2 will be given on Monday November 1, 2010   *** UPDATED ***

Makeup midterms will not be given, but the other midterm will be counted 
proportionally higher if you have a valid reason for missing a midterm. 

Final: 
Monday November 22, 2010 from 2:00pm to 4:30pm

You may arrange to take the final at a different time by emailing or speaking 
to the instructor.