Syllabus: 4003-231 Computer Science 1

version $Revision: 2.2 $
Copyright © Department of Computer Science Rochester Institute of Technology
All Rights Reserved

1. Course Goals

The goal of the course is to introduce you to Engineering Problem Solving (EPS). We do this directly by talking about elements of EPS, including problem decomposition, design and implementation of solutions, testing those solutions and integrating pieces of solutions together. We will use object-oriented technology as a means to an end to design solutions and actually implement them in software. Java is the language used; it is an object-oriented programming language that was designed for developing large systems from reusable components. Programming assignments, in the form of labs and postlabs, are an integral part of the course.

2. Texts

3. Grading Policy

The course consists of the activities shown below, which are weighted as indicated to compute the final grade:
Component Weight
Quizzes 35%
Labs 30%
Final 30%
lecture instructor's discretion 5%

Please note that if you have questions about the grading of any lab or quiz, you must bring it to your instructor's attention within one (1) week after the graded material (in class for quizzes; through e-mail for labs) has been handed back. After that time, your right to appeal will have expired and no grade adjustments will be considered!

3.1 Assignment of final grades

This course uses the traditional 90/80/70/60 percentage-based grading scale.

Each instructor reserves the right to alter these division points as they see fit at the end of the quarter if they believe it to be necessary, based on the overall evaluation of individual or class performance and effort.
Score Range Grade
n ≥ 90% A
80% ≤ n < 90% B
70% ≤ n < 80% C
60% ≤ n < 70% D
n < 60% F

4. Course Format

This course meets for five hours each week: there are three 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. You do not have to take the lecture and the lab from the same instructor. The lab instructor is responsible for giving you grades on labs. The lecture instructor is responsible for giving you grades on quizzes and the final exam, as well as determining how your discretionary grade component will be determined. It will be the lecture instructor who assigns your final grade in the course. 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. The room number of your lab may not show on your schedule, but there will be signs posted in the Golisano Building directing you to the proper lab.

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 labs are equipped with Sun workstations, which you will use for both lab exercises and programming projects. While some ICLs may be unavailable outside of your scheduled lab period, you can use the workstations in the Computer Science Lab (CSL) any time this facility is open. The CSL is located in the Golisano Building, Room 3550. The lab hours are posted outside each of the labs.

5. Laboratories

There are ten scheduled laboratory sessions, one per week. Labs start the first week of the quarter. It is vital that you read each lab writeup (on the web) before coming to lab, and do all of the indicated pre-lab activities, 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 two days 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 Tuesday). You will receive your grade via electronic mail, typically within a week after the due date. Depending on when finals start, you may have less than the usual amount of time to complete the last lab of the quarter; we prefer to keep exam week free of other activities so you can concentrate on your final exams.

Each laboratory assignment will include a postlab. The postlab assignment is normally completed outside of your scheduled labtime, although you may certainly complete the postlab during lab if you have time. The postlab is part of the laboratory assignment and is due when the corresponding lab is due.

Labs are worth 30 points each (in-lab activities count for 20 points and postlab activities count for the other 10 points). Your lab grade for the course will be computed as an average of the highest 9 lab grades (in other words we will drop the lowest lab). A zero given for cheating will NOT be dropped. There are no makeups on labs or parts of labs which you miss, nor are late submissions accepted. In some cases, lab writeups may only be available shortly prior to lab.

Some of the lab activities will be done in small teams of two or three people. There are many reasons for having you work in teams:

Most of the work you turn in for grading will be submitted electronically. The grading criteria for each lab are defined in the lab handout; different labs, containing different activities, may be graded differently. In general there will be several components on which your lab grade will be based:

6. Quizzes

There will be several quizzes during the quarter; see the course calendar for specific dates. Each will take about 30 minutes of lecture time. If you miss a quiz, you will receive a zero for it.

The quiz grade is computed by averaging the percentage scores on your best three quizzes; the lowest quiz score is dropped. For example, if you quiz scores were 75%, 92%, 64% and 70%, your quiz grade would be 79%. There are no makeups on quizzes, nor are quizzes ever given early.

7. 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, by the last day of the sixth week of classes, a student must submit a written request for rescheduling 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.

8. 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:

You can find the complete RIT's Academic Honesty Policy (section 18 of the RIT Students Rights and Responsibilities handbook) by following the links.

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, at a minimum, a grade of zero for the assigned work.
  2. For a second offense, in the same or a different course, the student will receive, at a minimum, a failing grade for that course.
  3. For a third offense, a student will be suspended and their case 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:

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.''

9. Tentative Schedule

The weekly schedule is available on the web. It reflects our best estimate of the timing of the topics covered in this course. Any changes to this schedule will be announced in advance by your lecture or lab instructor, or via e-mail, and posted to the web.

We will cover the Beginner's Guide to Unix and Workstations, various sections of Harley Hahn's Student Guide to Unix, and An Introduction to Object-Oriented Programming with Java. Detailed reading assignments are shown in the weekly schedule.

We cannot stress strongly enough that you are expected to have read assigned portions of the texts before class, as some of the material will not be covered in class unless questions arise. You are responsible for everything in the assigned readings whether covered in class or not, as well as lecture material whether covered in the readings or not. You may also have assigned readings to do before a lab session. Pertinent questions are always welcome.

10. A Suggestion and a Challenge

We strongly encourage you to delve into Harley Hahn's Student Guide to Unix and the documentation associated with the systems (e.g., the on-line manual) more deeply than the minimum required for this class. You will be using our UNIX ® systems for the next several years, and the more productive you are, the easier it will be for you to complete your assignments.

11. 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.

11.1. Tutoring Center/Extra Help Sessions

The Computer Science Department now offers a Tutoring Center for this and other 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. The schedule will be available shortly after the quarter starts from the course homepage.

From time to time, instructors or others offer extra help sessions. These are typically announced in lecture.

11.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 someone 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.3. Teaching Assistants

There are teaching assistants (TAs) assigned to the first year courses. Information about TAs will be available from the course homepage. They will help us with some of the laboratory sessions and will be available, either in the Tutoring Center or their office, during scheduled office hours.

They can help you with programming language problems, UNIX ® problems, and program debugging.

NOTE: While the teaching assistants are there to help you, they will NOT write your programs for you.

11.4. Student Lab Instructors

Student lab instructors (SLIs) are paired with lab instructors and have responsibility for one or more lab sections. In addition, SLIs will have scheduled hours in the Tutoring Center.

11.5. Lab Assistants

A lab assistant is on duty whenever the CSL is open. The lab assistant monitors the lab, retrieves listings printed on the high speed printers, and can provide assistance for simple UNIX ® problems, mechanical problems with workstations, and simple programming language problems. For help with other problems, see someone in the Tutoring Center instead.

12. 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.

13. 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 eigth 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.

14. 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 modified by jeh version $Revision: 2.2 $ $Date: 2002/11/27 15:08:11 $