CS 1054: Syllabus (Summer 2005)

Instructor

Graduate Teaching Assistant

Course Information

Catalog description

This course provides an introduction to object-oriented programming using the Java language. Fundamental concepts underlying programming and software solutions to many problems. Structured data, statement sequencing, logic control, classes, objects, methods, instantiation of classes, sending messages to objects. (2H,2L,3C).

Textbook

The following book is required: Introduction to Java Programming, Core, 5/E, Y. Daniel Liang, Prentice Hall, ISBN: 0-13-148953-4, 2005.

Grade distribution

Scores in this class will be on a 1000 point scale distributed as follows
Activity Points
Labwork 150
Programming Asssignments 450
In-class quizzes 50
Midterm Exam 1 100
Midterm Exam 2 100
Final Exam 150

Labwork - 150 pts

There are two lab session per week to accompany the lectures. The lab sessions will reinforce the concepts that are taught in the lectures. The lab sessions will comprise some programming tasks. At the end of the lab, there will be a small online assessment quiz to test how well the tasks were performed. Attendance will be taken during the labs and this will count towards the final score. The labs will be handled by the GTA.

Programming projects - 450 pts

The majority of your grade will come from individual programming assignments. There will be five or six programming assignments. The number of points per assignment will be indicated on the assignment description. All programs have to be submitted to the curator system. Precise instructions regarding each individual submission will be provided with each assignment specification. There will be no automated grading for this class.

Quizzes - 50 pts

Short quizzes will be given during lecture sessions throughout the semester. Quizzes will mostly cover material from the previous lectures. There will be approximately 10-15 quizzes. There will be atleast two to three quizzes per week. Some of these quizzes may be unannounced. Remember to keep a number 2 pencil with you for all lectures since most of the quizzes will have to be answered on opscan forms.

Exams - 350 pts

There will be three exams in this class. The first two exams will cover approximately two-thirds the course material and are tentatively scheduled in the first week of June and the middle of June, respectively. The final exam will be a comprehensive exam covering the entire course material and is scheduled for Saturday, July 2 from 1:00 PM - 3:00 PM.

Note 1: There will be no make-up of the midterm or final exams, unless there is a valid reason. If you have a valid excuse for not being able to take the exam in the scheduled time-slot, please inform the instructor atleast 24 hours in advance. The request has to be accompanied by a letter from the Dean's office.

Note 2: You must bring your VT ID card to all the exams! Because the exams are multiple-choice and are scored via machine, also bring a number 2 pencil and a good eraser. There will be two exams in this class. The midterm exam will cover approximately half the course material and is tentatively scheduled in the middle of October. The final exam will be a comprehensive exam covering the entire course material and is scheduled for December 18, 10:05 AM - 12:05 PM.

Grading Policy

Upon receiving grades for attendance, quizzes, exams or projects, you have exactly one week to question/contest your grade. After that, you will not be able to contest the grade which you received on an assignment, project, exam or quiz. This is to ensure that the grader remembers the grading criteria and is able to fairly consider any re-grading request.

Late Policy

Each programming project and homework assignment will have a due date and time and will include instructions for submission. Except in the very rare case that an extension is granted, late submissions will incur a penalty of 20% per day, and will not be given any credit if submitted after graded assignments or solutions have been released. Any request for an extension must be made at least 24 hours prior to the due date. Plan your time carefully for the programming projects, especially if you will be using computers in the campus labs — you may be competing with other students for scarce resources, so don't put things off until the last minute.

Class web site, listserv and forum

The url for the class is http://courses.cs.vt.edu/~cs1054/summer2005. Announcements regarding availability of assignments and grades will be posted to the class listserv. The listserv address is CS1054_60328@listserv.vt.edu. Every student who is registered by the first day of class is automatically subscribed to the class list. The listserv will be used primarily for announcements and clarifications.

A discussion forum for the class is available at https://forum.cs.vt.edu/. The forum should be used for discussion about the projects rather than the class listserv. Questions (and answers) of relevance to the entire class will be posted to the class listserv by the instructor and/or the GTAs.

Posting of solutions to the listserv or forum is NOT permitted. The Honor Code applies to both the listserv and forum too.

Web forum policy

Programming Environment

All lab sessions will be performed under the Eclipse Integrated Development Environment (IDE) with the latest version of the Java 5 Platform, Standard Edition (J2SE). The Ecplise IDE can be downloaded from http://www.eclipse.org. The version number of the BlueJ that should be downloaded is 3.1M7 and can be downloaded from http://download.eclipse.org/eclipse/downloads/drops/S-3.1M7-200505131415/index.php

The Honor Code

An exhaustive list of Honor Code violations would be impossible to present here, but among other things, each of the following is a flagrant violation of the Virginia Tech Honor Code, and violations will be dealt with severely (Honor Court):

It is acceptable to discuss with classmates a homework assignment in a general way, i.e., to discuss the nature of the assignment. In other words, you may discuss with your classmates the goal of an assignment but not how to achieve that goal using Java. In no way should the individual statements of a program or the steps leading to the solution of the problem be discussed with or shown to anyone except the instructor/TAs. Please feel free to discuss the assignment and your program or solution specifically with the instructor/TAs. The discussion of your individual program or solution must be limited to the instructor/TAs.

Feel free to discuss the homework assignments and your program source code with the teaching assistant assigned to CS 1054 or the instructor. The discussion of your program source code must be limited to these people. Note that this specifically excludes discussion of your program source code with other students (even if they are not enrolled in CS 1054), or with tutors except for those named above.

Privately hired tutors are not an exception to this requirement, nor are athletic or other tutors provided by the university.

Copies of all submitted work are retained indefinitely by the department. Submitted programs are subject to automated analysis for detection of copying.

If you have any question as to how the Honor Code applies to this class, remember that:

The Honor Code will be strictly enforced in this course. All assignments will be considered pledged graded work, unless otherwise noted. All aspects of your work will be covered by the Honor System. Honesty in your academic work will develop into professional integrity. The faculty and students of Virginia Tech will not tolerate any form of academic dishonesty.

Every assignment in this course in any form carries an implied signature on the following pledge:

On my honor:

- I have not discussed my program code with anyone other than my
  instructor or TAs assigned to this course.

- I have not used program code obtained from another student, or
  any other unauthorized source, either modified or unmodified.
  

- If any code or documentation used in my program submission
  was obtained from another source, such as a text book or course
  notes, that has been clearly noted with a proper citation in
  the comments of my program.

- I have not designed this program or submission in such a
  way as to defeat or interfere with the normal operation network
  services and / or the method by which assignments are fetched.

You can find the Computer Science departmental policy on old programs, cheating and koofers at http://www.cs.vt.edu/site_pages/undergraduates/Koofer.pdf.

Other notes


© Mir Farooq Ali 2005.