Syllabus - 4003-233 Computer Science 3
Syllabus: 4003-233 Computer Science 3
RAPT Program
version 1.0
Copyright © Department of Computer Science Rochester Institute
of Technology
All Rights Reserved
1. Course Goals
This course continues the C#-based introduction to basic computer science concepts
begun in Computer Science 2. Essentially, this course covers
algorithms and data structures.
Students will learn how
to design a solution to a problem by reusing existing components, and by
creating new components using algorithms and data structures.
C#
is the language used. Programming
assignments -
labs
and
projects
- are an integral part of the course.
Prerequisite for this course is:
4003-231 Computer Science 2
The stated outcomes of CS3 are:
-
Students will be able to explain the properties of stacks, queues, lists, trees, and graphs, implement them,
apply them to common software problems when appropriate, and analyze their performance.
-
Students will be able to analyze the efficiency of algorithms, including those used for sorting and searching.
-
Students will be able to translate requirements for small software problems into algorithmic solutions and
working programs.
-
Students will be able to describe hashing techniques and apply them to appropriate data organization problems.
-
Students will be able to discuss ethical issues that arise in the computer science discipline.
- (RAPT ONLY) Students will be able to design and implement a substantial quarter long project while
working in small teams.
2. Texts
-
Assorted documents produced by the faculty of the Department of Computer
Science.
- Assorted readings from electronically available books
3. Grading Policy
The course consists of the activities shown below, which are weighted as
indicated to compute the final grade:
| Component |
Weight |
| Exams |
30% |
| Final |
20% |
| Labs |
20% |
| Projects |
25% |
| Miscellaneous |
5% |
The projects are an integral part of this course, and the experience
you gain from them is valuable. Please note that if you have questions about the grading of any exam
or project or lab,
you must bring it to your instructor's attention within one (1) week
after the graded material (handed back through wtry or in class) has
been handed back. After that time, your right to appeal will have expired and no grade
adjustments will be considered!
4. Course Format
This course has four hours of lecture and two hours of lab each week. It is required
that each student register for one section of the lecture and one
section of the lab. If you have
any questions regarding your registration, consult your instructor or the
staff in the Computer Science office (70-3005) immediately. Finally,
while there may be other sections of both the lecture and lab, it is not
a smorgasbord. You must attend the sections for which you are registered
or you will not get credit for your work.
Lectures are held in the classrooms shown on your schedule. You are expected
to attend all lectures; attendance records will be kept.
Labs are held in one of the Instructional Computing Laboratories (ICLs) in
the Golisano Building (Building 70), and should also be on your schedule.
Although it is possible to hand in work for some of the labs without actually
attending the laboratory class, you are always expected to be there.
Severe grade penalties will result from your not attending lab classes.
The lab hours are posted outside each
of the labs.
Generally, ICL 6 is open for your use during normal lab hourse, unless there is a class inside of the lab.
5. Laboratories
There are nine scheduled laboratory sessions, one per week. Labs start the
first week of the quarter. It is vital that you read each lab write-up
and do all the indicated
pre-lab activities before you come to lab, so you will be
ready to go when lab begins.
You will have nearly a week to complete each lab. Labs are due at the
end of the day one day prior to your next scheduled lab session
(e.g. students who have their lab on Thursday must submit their work before
the end of the following Wednesday). You will receive your grade via logging into wtry, typically within a week after the due date. There is no penalty for resubmitting, only the last submission will be graded.
Your lab grade is computed in the following manner:
-
Your point total on each lab is first converted to a percentage of the
number of points possible for that lab. Any labs that you did not do count
as 0%.
-
These percentages are then averaged.
-
The average is then divided by 0.95; if the result is greater than 100%,
it is set to 100%.
To illustrate, suppose that you got 27 out of 30 points on lab one,
and 24 out of 30 points on lab 2.
-
The percentages for these labs would be 90 and 80, respectively.
-
These percentages are averaged with the other eight; suppose the final result
is 87%.
-
87% divided by .95 is 91.58%: this would be your lab grade.
We give you a 5% curve on your lab grade because there are no make-ups
or late submissions of labs.
6. Projects
Programming projects are an activity for this course.
They are larger problems for you to solve outside of lab or lecture time.
Your project this quarter will be done
as a team and will be made up of several mini-projects.
For each project you will have approximately
2 weeks in which to complete the work.
There will be one or more submission targets to match these deadlines;
the project handout will specify the details.
The project handout will also clearly indicate project due dates, and whether
projects may be submitted late, with substantial penalty. The projects
are coordinated and graded by your lecture instructor.
7. Exams
There will be three exams given during the quarter. Each exam will be fifty minutes long. All exams are
weighted equally with each other.
You are expected to take exams during the scheduled period; in general,
we will not give make-up exams. However, we realize that some situations
might arise that would prevent you from taking an exam: severe illness,
accidents, etc. Should this occur, you must inform your lecture instructor
prior
to the exam; you can either call him/her or leave a message with the staff
in the Computer Science Department office (70-3005, telephone 475-2995).
Once you return, we will make specific arrangements regarding
the missed exam.
Please note that oversleeping, cars that don't start, and other excuses
of this ilk are not generally valid. It is your responsibility to
get to class on time for exams. If you miss an exam and did not make prior
arrangements for a makeup, you will receive a zero for it.
8. Final Exam
A common final exam will be given to all sections at the same time during
the regularly scheduled final exam period. The date of the final will be
announced as soon as we get the information, typically in the third or
fourth week of the quarter. You must take the final exam at the time
scheduled for your section; finals are not given early, nor will there
be any makeup exam. The final will be comprehensive and will cover
material from the entire course, including lecture, lab and assigned readings
in the text books.
RIT recently announced new policies regarding final examinations.
Of direct relevance here are two cases: (1) a conflict in which a student is
scheduled for two final exams at the same time and (2) a situation in which a
student is scheduled for three or more final exams on the same day.
In case (1), there are several rules which determine which final exam takes
precedence.
In case (2), a student has the right (if they wish) not to take three or more
final exams in one day.
In both cases, if a student desires an adjustment of their
final exam schedule, they
must submit a written request for rescheduling, by the last
day of the sixth week of classes, to the head of their
home department, with a copy of the request given to the instructor being
asked to provide the rescheduled final exam.
We highly recommend that students first discuss their situation with
all instructors involved.
9. Academic Honesty
It is a shame that this must be stated at all, but there are always
a few students who do not abide by the rules of proper academic conduct.
For the record, on individual labs:
-
You may discuss logically how to complete the labs, as the purpose of them is to increase your understanding.
-
However, this does not mean that someone else can do your
lab for you or that you can share lab code with another person.
-
The corollary is that you may not do someone else's work for them either.
A willing supplier of the material is as guilty of academic dishonesty
as the receiver.
-
Any help you receive from someone must be acknowledged in the work
submitted. Failure to acknowledge the source of a significant idea or approach
is considered plagiarism and not allowed.
The rules regarding helping each other on projects may be different from
the ones specified here for labs. The rules will be stated in the handout
for each project.
Those who behave in a dishonest or unethical manner in computer science
courses, or in their dealings with the Computer Science Department, are
subject to disciplinary action. In particular, dishonest or unethical behavior
in the execution of assigned work in a computer science course will be
treated as follows:
-
For a first offense the student involved will receive a grade of zero on
the assignment. [A stronger penalty may be exacted, if, in the judgement
of the instructor, the offense involves a flagrant violation of basical
ethical standards.]
-
For a second offense, in the same or a different course, the student will
receive a failing grade for that course.
-
A third offense will be referred to judicial affairs.
Furthermore, the following action will be taken for each person involved
in the incident, whether currently enrolled in the course or not:
- If the student is a computer science major, a letter recording the
incident will be placed in the student's departmental file; otherwise,
the letter will be forwarded to the student's department chair or program
coordinator.
-
Violations of the
Code of Conduct... can also result in suspension,
expulsion and even criminal charges.
For more details refer to the DCS
Policy on Academic Dishonesty.
For most of you, such warnings are unnecessary. We have to mention this
because otherwise some students would say, ``but you never said I couldn't
just copy Johnny's work and turn it in as my own.''
10. Getting Help
There are many people on campus who are both able and willing to help you
when you have trouble understanding something. Resources include: the
tutoring center, your lecture instructor, your lab instructor, student
lab instructors, the teaching assistants and the lab assistants.
assistants and the lab assistants.
10.1. Tutoring Center/Extra Help Sessions
The Computer Science Department now offers a Tutoring Center for
introductory Computer Science courses. Student lab
instructors (SLIs) as well as teaching assistants (TAs) will be in
the Tutoring Center at scheduled times to help students with labs
as well as more general programming questions. These individuals may or may not be able to help you with your C# assignments. In general, you may stop in at the AI lab and ask the assistants there if you are having difficulties in the course.
From time to time, instructors or others offer extra help sessions.
These are typically announced in lecture.
10.2. Instructors
Both your lecture and lab instructors have offices in the same building
as the computer labs. They have regularly scheduled office hours,
which are times when they are committed to being available to students
for any questions or problems that they may have. No matter how busy some
one
appears to be, their office hours are there for you and you are welcome.
Most faculty are also available by prior appointment if you can't come
during an office hour. We ask that you be on time for your appointments
and that you notify the person if you can't come as planned.
11. General Conduct
Student conduct will be evaluated in accordance with the Policy on Academic
Dishonesty and Code of Conduct for Computer Use found in RIT's
Educational
Policies and Procedures Manual. You should also have two related documents,
the Code
of Conduct for the Use of Department of Computer Science Facilities
and the Policy
on the Use of Computer Games on Department of Computer Science Facilities,
which are refinements of the general Institute policies.
12. Policy on W and I Grades
RIT policy allows you to withdraw from a course with a grade of W
on or before the Friday of the sixth week in the quarter. After this date,
your instructor cannot give you a W, but must assign you a grade
based on your work.
This course has been designed so that you can complete all the work
in one quarter. Thus incomplete grades will be given only in the most exceptional
circumstances, and then only by prior arrangement with your lecture
instructor. Your lecture instructor has the final say in this matter.
13. Disclaimer
Every effort has been made to provide accurate information in this document.
We reserve the right, however, to make changes to any facet of the course
should circumstances warrant it. Any such changes will be announced in
both lecture and lab.
|