California State University Stanislaus

CS 2500: Computer Programming II

Spring 2011

2500-1: MW 11:00 am - 11:50 am, P 104,  Dr. Melanie Martin

2500-2: F      11:00 am - 11:50 am, P 104,  Dr. Melanie Martin

[Basic Information]         [Announcements]         [Calendar/Assignments]       [Links]        

Welcome to CS 2500, Computer Programming II

Course Objectives

Announcements and Upcoming Events

Ways to get help:
Office Hours
Sean Kelly
Tuesdays 9-11 am and by appt.
Kristi Davis
By appointment on MWF 8-11 am
Jonathan Ebie
By appointment - primarily for grading issues
Julie Gorman and CS Lab Staff
When lab is open - primarily for lab issues
Dr. Martin
MWF       3 pm to 4 pm
Thurs.    11 am to Noon
 and by appointment.
(Please try Kristi or Sean first if you need
help via email).

Kristi's Office Hours
          Please email Kristi at if you would like to make an appointment MWF between 8 am and 11 am.


Welcome to CS 2500!

Basic Information

Textbook is Data Abstraction and Problem Solving with C++(Fifth Edition), by Frank M. Carrano

Recommended: Just Enough Unix (Third Edition), by Paul K. Andersen
                           Learning the Unix Operating System, Fifth Edition A Concise Guide for the New User By Jerry Peek,
                           Grace Todino-Gonguet, John Strang; published by OReilly, 2001;  ISBN 10: 0-596-00261-0 | ISBN 13:9780596002619

Instructor: Dr. Melanie Martin                           Office: Demergasso-Bava Hall 276

Email:                               Office Phone: (209) 667-3787

Web Page:

Office Hours:  
                          MWF       3 pm to 4 pm
                            Thurs.    11 am to Noon
                            and by appointment.

Best way to contact Dr. Martin:  Email  Please put "CS2500" in the subject line of the email.

Prerequisite: CS 1500.

Corequisite: CS 2500-2.

Warning: I reserve the right to make changes to the syllabus at any time during the term by announcing them in class and on my web page.

Testing and Grading:  Your grade will be based on two main components: examinations and programs.

There will be quizzes, an optional comprehensive final examination, and programming problems.

To pass the course you must:

If you meet the conditions above I will compute your grade by giving a weight of 50% to your score on the examination component and a weight of 50% to your programming assignment average.

Your score on the examination component of the course will be the maximum of

  1. your score on the final examination, and
  2. the average of your quiz scores
Missed Quizzes, Exams and Late Programming Assignments: There will be no make-up or early quizzes or exams.

Get started early on assignments. That way, if you run into difficulty, you can seek help in class and/or office hours in a timely fashion.

I will assess a late penalty of 10% credit per calendar day (including holidays and weekends) on assignments turned in between one and five days late. I will not accept assignments late more than 5 days.
If you cannot finish an assignment on time, please turn in whatever you have done. It may be possible to get up to about half credit on an unfinished assignment, depending on the quality of the work and the circumstances. (You still need to turn in a version that runs within 5 days of the due date.)

Academic Honesty: The work you do for this course will be your own, unless otherwise specified. You are not to submit other people's work and represent it as your own. I consider academic honesty to be at the core of the University's activities in education and research. Academic honesty is expected at all times in this course. Here are some ground rules for the work in this course:

Assignments: When your purpose is to clarify or to reach an understanding of program specifications, you may discuss programming assignments with other people, including your classmates, as much as you like. You may also freely discuss the relative merits of various general approaches to designing and engineering solutions.

You are permitted to use algorithms or segments of code from

  1. any printed material available for student check-out in our library,
  2. our course text, or
  3. any programming textbooks to which you have access.
You are permitted to share such material, as described in 1-3 above, with other members of this class.

You may ask me for help and hints on assignments.

On the other hand, you may not give other members of this class programming code that you composed (made up).

You may not accept program code or accept help from any source that is not specifically listed above as permitted.

Exams: You must write your exams with no discussion or help from anyone. The one exception is that you are allowed to come forward and ask me to clarify the meaning of a test question, if you wish. It will be up to me to decide how to answer, or whether to answer at all. I will tell the class any new information that arises from such an exchange.

Penalties: If there is compelling evidence that an assignment, quiz or test was not done according to the above criteria, I will withhold credit.

Cell Phone Policy:
During class time, your cell phone is to be turned off and out of sight. Any use of a cell phone during class will result in confiscation of the phone until that day's class has ended or your removal from the class for that day. If you attempt to use your cell phone or leave it on during an exam, you will be considered to have finished your test, and I will collect your exam at that time.  Exceptions may be made only if you discuss your situation with me prior to the start of that day's class, in this case, your cell phone must be set to vibrate/silence.

Computer Equipment:
You need to have an account that gives you access to all the Computer Science Department Apple computers. The computers have a network file system, which means you get the same home directory and "computing environment," regardless of which Mac you log on to.

You will learn much of what you need to know about the Unix based operating systems during our lab sessions.

The CS computers are located in the Computer Science Lab: P-288. P-288 is in the Professional Schools Building (aka Demergasso-Bava Hall), in the extreme northwest corner of the north wing.

I will test the programs that you write for this course by compiling and executing them on one of the Computer Science Lab Macs. Therefore you must write programs that will compile and run without errors on these machines. The only way you can be sure that your program compiles and executes properly on the Macs is if you actually perform test compilations and executions on them.

There are two ways to work using your account on the CS machines: to work on one of the machines in the lab or two login remotely:

Working in the lab:

While you are in the CS Lab, you will be able to access the Mac workstations by logging in directly at the console. P-288 will be usually be open from about 9:00 am until about 5:00 pm on weekdays.  During these times, you can be physically present in the CS Department Lab while using a department computer. This can be very beneficial because you then have the opportunity to work and communicate with fellow students and members of the faculty. Due to budgetary constraints beyond our control, the hours during which P-288 is open are subject to change on short notice. Please check the postings of the lab hours at the entrance to the lab and in the "message of the day" that is printed on your screen when you login to your CS account.

Incidentally, the CS Department often seeks volunteers and work-study students to help keep the lab open longer hours. For further information, ask our system administrator, Julie Gorman: P-288C, 667-3273,

Working remotely:

Generally, some of the Macs are available for access and use on a 24-hour basis. You can log into the machines remotely - from another computer lab on campus, or from an off-campus location (e.g. work or home) - and work on them at you convenience. Remote login also makes it possible for many people to use a given workstation simultaneously. We will have a demonstration of how to perform remote login. More information is available on the CS Department web page Resources.

(You can probably get help just by asking someone in the lab.) You can also access the CS via an "ssh" connection from most any computer on the campus local network, such as those in P-107, P-120, L-125 and L-145. Generally those labs are open during the same hours that the campus library is open. To get further information about the labs and their hours of operation, you may consult this web page:

You may also check postings at the labs or ask lab personnel for information. Lab assistants should be able to show you how to do a remote login to a CS Department workstation.

Important dates:

(See Schedule of Courses or Academic Calendar)

Last day to add/drop a class:                        

February 23;

Last day to change grade options (CR/NC):

February 23;

No classes.

March 21-25, March 31, May 19.