Welcome to CS 2500, Computer Programming II
- The objectives of this course are the knowledge, skills, and
to solve programming problems correctly, efficiently, independently,
- Some specific goals are to learn about simple data structures,
algorithms, analyzing the efficiency of algorithms, designing programs
are easy to check and maintain, the basics of testing and debugging,
self-reliance, and dealing with the inherent uncertainties and
today's computing systems.
- Other aims of the course include learning to use advanced C++
features such as
structures, classes, pointers, arrays, and files; learning to use Sun
Announcements and Upcoming Events
Welcome to CS 2500!
|AMP Help Sessions Start with Elmer
MWF 10:30 - 11:30, in the CS
TTH 11:30 - 12:55, in the
conference room, P280 and 12:55 - 1:30, in the CS Lab
|Amnesty for programming assignments
extended to the final: 2 pm on 12/13/05
|Exam week office hours:
Monday, December 12: 2-4 pm
Optional final is Tuesday, December 13 at 2:00 pm
Tuesday, December 13: 12-2 and 4-5 pm
Wednesday, December 14: none
Thursday, December 15: 7-9 pm
Friday, December 16: 9-11 am
Textbook is Data Abstraction and Problem Solving with
C++(Fourth Edition), by Frank M. Carrano
Strongly recommended: Just Enough Unix (Third Edition),
by Paul K. Andersen
Instructor: Dr. Melanie Martin
Office Hours: MW 3:30 pm to 5:00 pm
TR 4:00 pm to 5:00 pm
F 2:30 pm to 3:00 pm
and by appointment.
Best way to contact Dr. Martin:
Email email@example.com Please put "CS2500" in the subject
line of the email.
Prerequisite: CS 1500.
Corequisite: CS 2502.
Warning: I reserve the right to make changes to the syllabus
time during the term by announcing them in class and on my web page.
Course Email list: There is
an email list set up for this course. Please join it at your earliest
convenience, since class announcements and discussion may take place on
To sign up, go to: http://majord.csustan.edu
Enter your email address and cs2500-1 as the name of the list.
Alternately, send email to:
with the following in the message body:
Testing and Grading:
Your grade will be based on two main components: examinations and
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
50% to your programming assignment average.
- receive a passing average score on the quizzes or pass the
optional final examination,
- receive a passing average score on the programming problems, and
- turn in a working solution to every one of the programming
Your score on the examination component of the course will be the
Missed Quizzes, Exams and Late
Programming Assignments: There will be no make-up or early
quizzes or exams.
- your score on the final examination, and
- the average of your quiz scores
Get started early on assignments. That way, if you run into
difficulty, you can seek help in class and/or office hours in a
I will assess a late penalty of 10% credit per
(including holidays and weekends) on assignments turned in between one
five days late. I will not accept
assignments late more than 5
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
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
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
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 may also freely discuss the relative merits of various general
to designing and engineering solutions.
You are permitted to use algorithms or segments of code from
- any printed material available for student check-out in our
- our course text, or
- 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
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.
You must write your exams with no
discussion or help from anyone. The one exception is that you
allowed to come forward and ask me to clarify the meaning of a test
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
such an exchange.
Penalties: If there is compelling
an assignment, quiz or test was not done according to the above
will withhold credit.
Cell Phone Policy: During class time, your cell phone is to be
off and out of sight. Any use of a cell phone during class will result
of the phone until that day's class has ended or your removal from the
for that day. If you attempt to use your cell phone or leave it on
exam, you will be considered to have finished your test, and I will
your exam at that time. Exceptions may be made only if you
situation with me prior to the start of that day's class, in this case,
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 Sun Ultra 10 and Sun Ultra 30 computers. The computers have
network file system, which means you get the same home directory and
"computing environment," regardless of which Sun Ultra you log on to.
If you don't have access to the Ultra's or you aren't sure whether you
access, then let me know right away.
We will have a special lab session to teach you what you need to
know in order to use the Ultra's for class assignments.
The Ultra's and other CS computers are located in the Computer Science
P-288 is in the Professional Schools Building (aka
Demergasso-Bava Hall), in the extreme northwest corner of the
I will test the programs that you write for this course by compiling
executing them on a Sun Ultra.
Therefore you must write programs that will
compile and run without
errors on these machines. If you are accustomed to a different
computing environment, you will have to be careful about this.
(See Schedule of
Last day to add/drop a
Sept. 13 (w/o fee), Oct. 4 (w/ fee);
Last day to change grade options (CR/NC):
October 12, November 11, November 24-26;