Course Overview

University Uganda Martyrs University (UMU)
Faculty Science (B.Sc.)
Course Programming Methodology II: Object Oriented Programming with Java (Year 2, Term 1)
Dates 12 Weeks, September-December 2003 (see calendar)
Lecturer

Mr. G. Vogl, 077-606404, gvogl@umu.ac.ug, gregvogl@yahoo.com, http://www.gregvogl.net/

Course Goals Process (Holistic) Goals
  1. Design, code, compile, run, test, debug, modify, and document programs
  2. Explain and use programming concepts, algorithms and processes
  3. Be prepared for further study of the software development aspects of computer science
Content (Atomistic) Goals
  1. Review basic C-like language features of Java including:
    applications, variables, types, operators, expressions, statements, comments, I/O, selection, repetition, functions, arrays, strings
  2. Use object-oriented features of Java including classes, inheritance, interfaces and polymorphism
  3. Use basic algorithms (recursion, searching and sorting) and data structures (stack, queue, list)
  4. Use Java applets, GUI components (AWT and Swing), two-dimensional graphics, event and exception handling
  5. Use database and networking features

The main goal of this course is to write programs. Also see the detailed list of learning objectives.

Prerequisites
  • An introductory first-year programming course in C++ or C.
  • No prior object-oriented programming experience is required this semester (because students learned C under the old curriculum).
  • Knowledge of basic algebra and trigonometry.
Times, Locations,
Course Format
  • Theory sessions in the lecture hall.
    Activities will include lectures, presentations, demonstrations, discussions, and group exercises.
    Asides will include common errors, quality tips, productivity hints, advanced topics, historical/social background and howtos.
  • Practical sessions in the B. Sc. computer laboratory.
    Students will complete laboratory exercises and receive assistance with homework assignments and programming projects.
Tools and Materials
  • Lecture notes and other documents will be put on reserve in the library or made available for photocopying.
  • Several books are currently available in the University library, for sale in Kampala, and on-line.
  • You are also encouraged to access the links to Internet resources.
  • You are responsible for obtaining a working UMU e-mail account and Linux login. 
  • You will use the Linux operating system environment to develop software.
  • You will use a text editor to develop source code. 
    Window-based editors include gedit, kedit, kwrite, kate. Text-based editors include emacs, vi, vim, pico.
    You will use an integrated software development environment (such as Kdevelop or Forte).
  • You will use javac (the Java compiler) to produce executable programs.
  • The instructor and system administration staff may be able to provide limited help to install the necessary software on student personal computers, but no promises can be made.
Policies See the instructor's course policies.
Grading
10% 12 laboratory exercises (Lab 1-12)
20% 5 programming assignments (Homework 1-5)
20% 2 programming projects (Project 1-2)
50% Final Examination