RIT Home Index Directories Search Info. Center
News
        
CS Home Calendar
Webmail Contact Us FAQ Maps
Books
Syllabus
Schedule
Style Guide
C# vs. Java
Microsoft Developer Network
  MSDN Home
  Visual C# Home
  .NET Class Library
Visual Studio Settings for Style
Microsoft Academic Alliance
WTRY
DirectX 9.0 SDK
Home > Computer Science 1 - Summer 2005 RAPT Program > Syllabus
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:

  1. 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%.
  2. These percentages are then averaged.
  3. 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.
  1. The percentages for these labs would be 90 and 80, respectively.
  2. These percentages are averaged with the other eight; suppose the final result is 87%.
  3. 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:

  1. 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.]
  2. For a second offense, in the same or a different course, the student will receive a failing grade for that course.
  3. 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. 



Last Updated: August 17th, 2005
Rochester Institute of Technology
Questions/Feedback

This Site is partially powered by phpWebSite (c) The Web Technology Group, Appalachian State University
phpWebSite is licensed under the GNU GPL

Copyright 2005 Rochester Institute of Technology. All Rights Reserved | Disclaimer | Copyright Infringement