CISC 370 - Object oriented Programming with Java

Course Schedule, Notes, and Assignments

Numeric Grade Ranges for Letter Grades

General Information

Course Description

"Object oriented programming through use of the Java programming language. Use of Java's extensive library of API's (application programming interfaces).Study of the design issues of large program systems."

This course will cover the Java programming language with a focus on Object Oriented concepts. An effort will be made to introduce as many aspects of the programming language as possible within the time frame of the semester.

Time and Location

209 Smith Hall
TR 3:30pm - 4:45pm

Instructor

Jim Young
411 Smith Hall (Mailbox in 103 Smith)
young@cis.udel.edu
Office Hours: TR 4:45pm - 5:45pm (Will be held in course classroom if available.)

Class Web Site

Course information, assignments, and readings will be available at:
http://www.cis.udel.edu/~young/
CHECK THIS SITE FOR UPDATES REGULARLY!

Prerequisites

CISC 181 (or a good working knowledge of C++) and CISC 220. In addition to these formal prerequisites, this course is taught assuming a working knowledge of computers and development tools, such as the ability to set paths, install tools, troubleshoot operating system problems, and so forth. Finally, the ability to self-learn related but not central material (such as basic HTML) on your own is assumed and will be taken advantage of throughout the semester.

Textbooks

Required:
Java How to Program, Sixth Edition;
Deitel & Deitel; Prentice Hall 2004. ISBN 0131483986

Optional:
Core Java 2: Volume I - Fundamentals, Seventh Edition;
Cay S. Horstmann and Gary Cornell; Prentice-Hall 2004. ISBN 0131482025
Core Java 2: Volume II - Advanced Features, Seventh Edition;
Cay S. Horstmann and Gary Cornell; Prentice-Hall 2004. ISBN 0131118269

Course Requirements and Grading

70% - Programming Assignments
30% - Test(Given during finals week at the University scheduled time)

Programming Assignments - A programming assignment will be assigned for each major topic covered in the course. These assignments can (and in most cases, will) build on previous assignments. For instance, the assignment on networks and socket programming will entail use of mulithreaded programming. These assignments are intended to allow you to get hands-on experience with all of the major components of the Java 2 programming environment. All assignments must be your own work! See the Academic Honesty section below for more details!

Test - The only test for this course covers concepts, both related to object-oriented programming in general and Java-specific. This test will not ask you to write any code. It will ask you to explain different concepts and components. It will ask you to understand the advantages and disadvantages of particular approaches to specific problem solving. It will require you to think.

Course Policy

Late Submission of Assignments - Everyone should try their best to submit all assignments on their due dates. However, there are various circumstances that may prevent a student from completing an assignment on time. Therefore, late assignments will be penalized 10% per 24 hour period, or fraction thereof. No special previsions will be made for weekends. Late assignments will be acceptable up to one week late. After one week, late assignments will no longer be accepted, and a score of zero will be assessed. Assignments should be handed in directly to me when possible. Assignments can be turned in electronically via email, however though fairly reliable as email can be, it is in no way guaranteed, and the risk that your email will not succeed is your own.

Grading Errors - Sometimes, mistakes do occur in the grading of assignments. After a graded assignment has been returned, you have one week to submit a request to have it regraded. This request must be in writing and include the original assignment, as well as a brief description of your dispute with the grade. Such a request should be submitted directly to the TA, during office hours or left in the TA's mailbox. After one week, no requests for assignment regrading will be considered. If the situation cannot be resolved after discussion with the TA, please come and talk to the instructor about it.

Academic Honesty - When working on a program, you may consult with the instructor, the TA, classmates, friends, or anyone else you wish. However, all programming must be your own work. You may discuss in general terms the approach to solving a programming problem. Once the discussion progresses to specific programming issues, such as control structures, variables, etc..., you must end any collaboration. Specifically, you may not (1) copy or allow another student to copy a computer file that contains another student's assignment and submit it, or any part of it, as your own, (2) work together on an assignment, sharing computer files and source code, and submit copies as the assignment as individual work, or (3) edit a script file. Any evidence of performing any form of academic dishonesty will be immediately turned over to the student judicial board, with a recommendation that a grade of F/X (failure due to academic dishonesty) be recorded for this course. If you are in doubt whether or not a certain behavior is permitted, please ask the instructor beforehand!