[an error occurred while processing this directive]

Syllabus: CS 2121 Introduction to Programming in Java


Course Web Page

http://www.d.umn.edu/~gshute/cs2121

Course Text and Resources

Course Content and Objectives

This course is an introduction to object-oriented programming using Java. It assumes no prior programming experience, but the student must have taken at least three years of high school mathematics. The course satisfies the Liberal Education category 3 requirement.

Course coverage includes the design and implementation of both graphical applets and standalone applications, and the use of visual components in graphical user interface design. Language elements covered include loops, arrays, input/output structures, events, exceptions, and threads. The course will present material on the newer Java Swing tools for building programs. This material is not discussed in the textbook. However, there is an excellent tutorial available on the web, which will be used as a substitute for portions of the textbook. The course will also use a local web site that provides a simple introduction to the Java Swing graphical user interface components.

Grading Basis

Your grade will be based on the total points you earn on exams, programming assignments, and lab activities. These points are broken down as follows:
item number points each total
Midterm Exam 1 80 80
Final Exam 1 80 80
Programming Assignments 6 varies 180
Lab Exercises 6 10 60
Grand Total 400

The final grades will be based on the 400 point total. Generally:

These grade cutoffs will never be raised but they may be lowered.

Course Organization

We will meet in lecture on Mondays and Wednesdays, when new material will be presented. We will follow the text generally, but non-text material may also be included in the lectures. The midterm exam will also be given during the lecture hour on Monday, March 10. The final exam is from 8:00 a.m. to 9:55 a.m. on Monday, May 12.

On Wednesdays you will meet in a computer lab, where you will be led by a teaching assistant. Generally, the Wednesday labs will alternate between structured lab exercises one week and programming assignment demonstrations the next week.

Lab Exercises

The lab exercises are designed to be completed during the lab period. They will be posted on the course schedule by the Monday before the lab day. When possible you should read the lab exercise before coming to the lab. Each lab exercise will be worth 10 points and must be completed by the end of the lab. Instructions on what to turn in will be given for each exercise.

Programming Assignments

Programming assignments will significantly build on the material from the lab exercises and lectures. They will be posted on the course web page at least ten days before they are due. You can expect to spend several hours per week outside of class preparing these assignments, which will be demonstrated to the teaching assistant during lab on the days indicated on the term schedule. On these days, you must have your program completed before you come to lab. By the end of the lab, you must also turn in a lab report for the assignment. Instructions on what to turn in will be given for each assignment.

Programming Platforms

The Java language has been designed to be platform independent, meaning that applets and applications written on one machine in a given programming environment should run on any other machine that supports Java. For the lab exercises and programming assignment demonstrations, you will be programming in a UNIX platform, accessed from Windows machines using the Win32 program. You will be taught to use an emacs editor, although you are not required to use it. The use of UNIX and emacs, and the programs for compiling and running Java programs will be described in the first lab exercise.

Course Policies

Lectures
You are responsible for all material presented in lecture.

Exams
Exams will cover all lecture and reading material from the text. Relevant text chapters will be indicated on the course web page as the course progresses. Exam coverage and topics will be given on the course web page well before the time of the exam. Exams must be taken on the hour they are scheduled. They will not be given early, and can be made up only if documented evidence of medical emergency or death in the family is presented before the time of the exam.

Collaboration
There are no group assignments in this course, and just like an essay or term paper, the programs are expected to be your own. You may discuss an assignment and general approaches to a problem with your professor, your lab instructor, lab consultants, or your classmates, but you must design and write the code yourself. You may consult with others about your design or seek help in debugging, but you may not collaborate with anyone on the writing of your code.

Late Assignments
Programming assignment demonstrations must be given, and reports turned in, by the end of the lab session in which they are due. Ample time is given to complete these assignments, and the only reason for being late will be poor time management. Therefore, 20% of the total value of an assignment will be deducted for each day it fails to be turned in by 11:00 a.m.

Course Schedule

Etc.

[an error occurred while processing this directive]