Welcome to CS 2500, Computer Programming II
Course Objectives
- The objectives of this course are the knowledge, skills, and
experience needed
to solve programming problems correctly, efficiently, independently,
and on
time.
- Some specific goals are to learn about simple data structures,
common
algorithms, analyzing the efficiency of algorithms, designing programs
that
are easy to check and maintain, the basics of testing and debugging,
self-reliance, and dealing with the inherent uncertainties and
complexities of
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
workstations effectively.
Announcements and Upcoming Events
9/7/05
|
Welcome to CS 2500!
|
9/19/05
|
AMP Help Sessions Start with Elmer
Salazar
MWF 10:30 - 11:30, in the CS
Lab
TTH 11:30 - 12:55, in the
conference room, P280 and 12:55 - 1:30, in the CS Lab
|
12/6/05
|
Amnesty for programming assignments
extended to the final: 2 pm on 12/13/05
|
12/9/05
|
Exam week office hours:
Monday, December 12: 2-4 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
Optional final is Tuesday, December 13 at 2:00 pm
|
Basic Information
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: Demergasso-Bava
Hall 276
Email: mmartin@cs.csustan.edu
Office Phone:
(209) 667-3787
Web
Page:
www.cs.csustan.edu/~mmartin
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 mmartin@cs.csustan.edu 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
at any
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
the list.
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:
cs2500-1-request@pollux.csustan.edu
with the following in the message body:
subscribe
end
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:
- 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
problems.
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
- your score on the final examination, and
- 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
- any printed material available for student check-out in our
library,
- 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
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 Sun Ultra 10 and Sun Ultra 30 computers. The computers have
a
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
have
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
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 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.
Important dates:
(See Schedule of
Courses or
Academic Calendar)
Last day to add/drop a
class:
|
Sept. 13 (w/o fee), Oct. 4 (w/ fee);
|
Last day to change grade options (CR/NC):
|
November 7;
|
No classes.
|
October 12, November 11, November 24-26;
|