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 our
Mac network effectively.
Announcements and Upcoming Events
2/11/11
|
Ways to get help:
|
Office Hours
|
Email
|
Sean Kelly
|
Tuesdays 9-11 am and by
appt.
|
seantkelly101@gmail.com
|
Kristi Davis
|
By appointment on MWF 8-11
am
|
kdavis@cs.csustan.edu |
Jonathan Ebie
|
By appointment - primarily
for grading issues
|
cs2500students@gmail.com
|
Julie Gorman and CS Lab
Staff
|
When lab is open -
primarily for lab issues
|
julie@cs.csustan.edu
|
Dr. Martin
|
MWF
3 pm to 4 pm
Thurs. 11 am to Noon
and by appointment. |
mmartin@cs.csustan.edu
(Please try Kristi or Sean first
if you need
help via email).
|
|
2/3/11
|
Kristi's Office Hours
Please email
Kristi at kdavis@cs.csustan.edu if you would like to make an
appointment MWF between 8 am and 11 am.
|
1/28/11
|
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: mmartin@cs.csustan.edu
Office Phone:
(209) 667-3787
Web
Page:
www.cs.csustan.edu/~mmartin
Office Hours:
MWF 3 pm to 4 pm
Thurs. 11 am to Noon
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 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:
- 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 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, julie@cs.csustan.edu.
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:
http://web.csustan.edu/oit/AITS/LabsMain.htm
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.
|