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 our
Mac network effectively.
Announcements and Upcoming Events
|Ways to get help:
|Tuesdays 9-11 am and by
|By appointment on MWF 8-11
|By appointment - primarily
for grading issues
|Julie Gorman and CS Lab
|When lab is open -
primarily for lab issues
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
Kristi at firstname.lastname@example.org if you would like to make an
appointment MWF between 8 am and 11 am.
Welcome to CS 2500!
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,
John Strang; published by OReilly, 2001; ISBN 10: 0-596-00261-0 |
Instructor: Dr. Melanie Martin
MWF 3 pm to 4 pm
Thurs. 11 am to Noon
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 2500-2.
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.
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 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,
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.
(See Schedule of
Last day to add/drop a
Last day to change grade options (CR/NC):
March 21-25, March 31, May 19.