COURSE GUIDELINES
CIS 223
Data Structures and Algorithms
Spring, 1997
Dr. Friedman
Office: Computer Activity Building, Rooms 313 or 303
SUMMARY OF COURSE GOALS:
The purpose of this course is to provide exposure to and ample exercise with the
fundamentals of the design and implementation of well structured programs --
programs that are concise, clear, easy to read, test and modify. Particular attention will
be paid to the concepts of program and data abstraction. Numerous complete program
examples will be illustrated in class, and a number of design and programming
problems will be assigned. All programs will be implemented in the C++
programming language.
GRADES:
Base Grade:
5% - class and lab participation
15% - homework
15% - quizzes (in lab; based on homework)
30% - 2 exams (15% each in class, around weeks 5 and 10)
30% - final exam
NOTE:
These percentages are approximate, and can be expected to
vary slightly
depending upon individual circumstances, and strengths and weaknesses in student
background. Homework is used only to raise or lower your grade and can affect your
final grade by no more than a letter. Excellent homework could raise your Base Grade
by as much as a full letter. Poor homework could lower your Base Grade by as much
as a letter. If your exam grades do not average out to at least a mid-range D, your
homework will probably not affect your grade much if at all.
NOTE:
I no longer give grades of C- D+, or D-. If your work does
not meet a minimum
satisfactory grade, you will receive a D or an F and you will have to re-take the course
if you wish to continue as a CIS major.
CLASS ATTENDANCE:
If you miss class, please obtain notes and missed assignments from your fellow
classmates. If there is anything that you do not understand, I will be happy to help
you, but you have to make the first effort to make up the work. All assignments must
be turned in on time. I will not give incompletes except under extraordinary
conditions. I EXPECT EACH STUDENT TO TAKE THE INITIATIVE TO MAKE UP
WHATEVER IS MISSED IN CLASS.
OFFICE HOURS:
By appointment (204-5559 or 204-1912), or as available Monday through Thursday. I
cannot always guarantee that I will be able to be in my office during these hours, but I
will try. Your best bet is to make an appointment ahead of time and leave a number
where you can be reached during the day in case of changes in my schedule.
CHEATING:
Academic cheating (such as plagiarism, copying during an exam, copying homework,
stealing files and passwords, etc.) is strictly prohibited in this course. The penalty for
the first offense will normally be an F in the course. A subsequent offense (in this or
any other course) may also be referred to the University Disciplinary Committee.
No collusion what-so-ever during an exam will be tolerated. In particular, no talking
or other sharing of information (for example during open book exams) is permitted.
Keep your eyes on YOUR paper.
IGNORANCE OF ACCEPTABLE GUIDELINES OF CONDUCT IS NO EXCUSE. Your
Temple Student Handbook has information on this subject and the readings Anthology
contains a document entitled
"General Requirements for the Acknowledgment of Sources
in Academic Work"
Everyone in this class is expected to become familiar with this document. This reading
should be completed no later than the third class meeting for this course.
YOUR PASSWORD:
Your password is your unique "key" to CIS computing resources. It is your key and is
not to be shared with anyone else regardless of who it is or the reasons you might think
you have. Misuse of your password may result in the removal of your computing
access privileges and in University Disciplinary action. Please treat this password as
your own personal property -- that's exactly what it is!
WITHDRAWAL POLICY:
You may withdraw from this course (with a grade of "W passing") at any time prior to
the "magic date" specified by the University (usually about three weeks before the end
of classes). It is up to you to find out when this date is for a given semester. I will
generally try to give, grade, and return the SECOND EXAM in time for you to make a
decision about what to do if you are not happy with your progress in the course.
Students who simply "drop out" of class without formally withdrawing will receive a
grade of F.
HOMEWORK ASSIGNMENTS -- WORKING IN GROUPS:
Your homework assignments are intended to help YOU learn the C and C++ languages
and to help YOU master the software design and object-oriented concepts stressed in
the course. I tend to give a lot of programming assignments and a good bit of reading.
For most students in the class, doing the reading and the programming assignments is
the only way you will master the concepts and ideas discussed; it is most surely the
only way you will learn the C and C++ languages.
Because of the amount of work given, it is expected and desirable for people to work
together and help each other. Working with classmates should be a major component
of the learning process. I will probably form groups of 3 students each early in the
semester, and I will indicate for each assignment whether it is a group or an individual
assignment. Group members will have to learn how to communicate with each other --
for starters, there is the phone, e-mail, and the lab time. Learn how to use these
facilities!!! Help each other, but make sure that everyone pulls his or her own weight.
Group work sounds easy -- it is NOT! It takes planning and communication and a
sense of fair play and cooperation. It takes time -- but in the end, a smoothly working
group can accomplish much more than individuals working alone.
The work that you (or your group) turn(s) in must be YOUR OWN (our unique to your
own group). In the event that two (or more) homework assignments are too much
alike, the grade will be divided by two (or more).
Because I view homework as a learning vehicle, you will not receive letter or nu-meric
grades for your work -- just a check, check +, or check - . It is up to you to ensure that
your homework effort serves its purpose -- for you to learn the material.
LAB ATTENDANCE:
Lab attendance is required, role will be taken, and your presence will be recorded and
can affect your grade. Lab is a great time for groups to meet.
HOMEWORK DUE DATES:
The due date for all programming assignments will be announced at least one week
ahead of time. LATE assignments will be graded at half credit for up to one week late
and no credit thereafter. Numeric grades will not be assigned to your homework but
we will provide feedback in a timely manner for homework that is turned in on time.
There will be regularly scheduled quizzes directly related to the homework, These
quizzes will probably be given once a week, at the start of lab period and will generally
last about a half an hour. If you are paying attention in class, doing the assigned
reading, and working diligently on the homework you should have no trouble at all
with the quizzes.
All assignments should be carefully documented (commented). Your name, section,
the date, and the title of your assignment (and your instructors name) should appear at
the top of each program as part of the documentation.
EXAMS:
As for the exams -- no missed exam can be made up without a doctor's excuse or the
equivalent. If you have something that will prevent you from taking an exam at the
scheduled time, you are expected to notify the instructor ahead of time so that
alternative arrangements can be made.
Exams will be designed to test your understanding of the C++ language, a few key
features of C, the design and programming methods and processes used in class, and
other relevant material about computers including the UNIX operating system, editors,
compilers, loaders, etc.
A final note:
In signing up for this course, you have signed a contract to do the work that is
required and to fully participate in course activities, including standard home-
works, all labs, group/cooperative projects, quizzes, and exams. I expect you to
live up to your end of the bargain. You will be graded according to how well
you satisfy course requirements. If you have questions, come see me. Thanks.
Return to Previous Page