version 1.5
Copyright © Department of Computer Science Rochester Institute of Technology
All Rights Reserved
This is the continuation of the accelerated first-year sequence. This course continues from the data structure coverage begun in Accelerated Computer Science 1. It then introduces many of the contemporary programming techniques in use in current programs.
Topics include the Java collection and file input/output frameworks, graphs, multi-threaded programming, network distributed programming, graphical user interfaces, and event-driven programming. Laboratory and project programming assignments are an integral part of the course.
The course consists of the activities shown below, which are weighted as indicated to compute the final grade:
| Component | Weight |
| Exams | 25% |
| Final | 20% |
| Labs | 30% |
| Projects | 25% |
The projects are an integral part of this course, and the experience you gain from them is valuable. Therefore, to receive
any credit for a project you must submit a solution, even if incomplete; your solution must compile without errors, and must meet the specified minimum level of functionality
for the project.
This course has essentially the same format as Accelerated Computer Science 1: 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. The lab instructor is responsible for giving you grades on labs. In some lab sections your instructor may be a student instructor. A faculty instructor will also always be available during your lab time. The lecture instructor is responsible for giving you grades on exams, projects and the final exam. 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 (Ross A221) immediately.
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 descriptions before coming to lab so you will be ready to go when lab begins.
Although it is possible to hand in work for most labs without actually attending the laboratory class, you are always expected to be there. Participation points will be given for attendance in lab. At the beginning of each lab your lab instructor will have a short discussion about the previous week's lab and highlight the important points for the current lab. Attendance will be taken immediately following that discussion. To receive your participation points you must be present at that time. There will be no exceptions to this unless you have been previously excused from this lab by your lab instructor.
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 Wednesday, must submit their work before the end of the following Monday). 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.
Labs will are worth 30 points each. 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). There are no makeups on labs.
Most of the work you turn in for grading will be submitted electronically. The grading criteria for each lab is defined in the lab descriptions; different labs, containing different activities, may be graded differently. In general, there will be several components on which your lab grade will be based:
Most of your work will be tested during the submission process. You will generally not be shown the results of the tests. You are expected to thoroughly test your own programs before submitting them. This will require you to make up your own test data and test programs as necessary. Many of those test programs are "throw-aways" that never get submitted. This is a necessary part of building correct programs. You may be given some test data to aid you in testing your program; we may use some or all of this data, as well as other data, when we test your work.
Important
The project takes longer to do than a laboratory assignment. It requires longer term scheduling and technical planning. Do not wait until the last minute to begin the project or to begin submitting a project solution! An all too common scenario is that a student will finish the code "in the nick of time" but not have been able to thoroughly test it. The program may fail minimum functionality tests and the student will receive no credit for the project. If there are many other students in the exact same situation submitting at the last moment the systems are incredibly sluggish. This is not an excuse for a missed submission deadline.
We must reiterate an important point. As described under Grading Policy, you must submit a solution for the project which compiles and meets minimum functionality, or else you automatically receive 0 for the project. This is true even if you already received a grade on an earlier submission such as the design.
There will be two exams given during the quarter; see the course calendar for specific dates. 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 (10-A221, telephone 475-2995 or 475-6179). 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.
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 sixth or seventh 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.
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:
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:
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.
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.''
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, and posted to the web. Detailed reading assignments are shown in the weekly schedule.
Many of the course topics are not addressed directly by any of the text books. You can expect numerous class handouts on materials not covered in the texts. 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.
There are many people on campus who are both able and willing to help you when you have trouble understanding something. Resources include: your lecture instructor, your lab instructor, the teaching assistants and the lab assistants.
Many Computer Science courses have newsgroups associated with them. There is a newsgroup for the Accelerated CS courses. The newsgroup for this course is rit.cs.courses.0603.235. You should read this newsgroup on a regular basis, at least once every day or two. Your instructors will post any messages about the course to this newsgroup.
You should also use this newsgroup as a place to ask questions or provide comments. The course instructors read this newsgroup and respond to questions posted there. You should also feel free to contribute answers to questions posed by other students. We intend the newsgroup to be a place for collaboration and discussion about any of the course topics or other items of interest.
You will need to keep in mind the regulations on Academic Honesty mentioned above. What you are allowed to discuss for a lab or project assignment does not change when the discussion takes place in the newsgroup. Specifically, be careful about posting code samples from your assignments. You can often answer someone's code related questions without showing portions of your code. For design issues, you can discuss design issues at a higher abstract level without describing exact class decomposition and members.
Make use of this newsgroup as another mechanism for communicating with the course instructors and also other students in the course. Of course, direct e-mail or office contact with your instructor and the TA's, as discussed in the following, is still available.
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 you notify the person if you can't come as planned.
They can help you with programming language problems, UNIX problems, and program debugging. They are the first people you should see when you have problems with your assignments. Of course, you may always contact your instructor during her or his office hours or make an appointment with him or her.
NOTE: While the teaching assistants are there to help you, they will NOT write your programs for you.
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 the teaching assistants first.
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.
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.
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.