Synopsis for 04:547:430

 

Course description

Building on concepts introduced in Object-Oriented Programming, this course provides students with in-depth exposure to Java (or appropriate programming language), necessary for building realistic applications. The course focuses on creative thinking for generating flexible software designs, on complex user interfaces and on multi-threaded network applications.

Objectives/Competencies

The student will be able to:

Investigation areas:

Topics

Class conduct

The class is a combination of lecture and lab:
  • students read the assigned sections from the textbook
  • new concepts are introduced and discussed based on a set of examples;
  • students try to solve a set of exercises; some of the solutions are discussed with the instructor;
  • students work on homework / coursework assigned by the instructor.

We will start with a revision of the Java basics (chapters 1-6 from the textbook, one per class). We will pay particular attention to the new concepts and principles introduced in each chapter and solve the more difficult exercises. At the same time, we will get some familiarity with new elements introduced in Java 1.5 Tiger (generics, enumerations, simplified for loops, autoboxing, formatting, etc) and with alternative Integrated Development Environments (IDE), such as NetBeans and Eclipse.

In the second part of the course, we will cover the advanced chapters of the textbook, paying particular attention to object-oriented design issues (design patterns will also be discussed) and to building Graphical User Interfaces (multithreading will, of course, also be discussed, and visual tools for building GUIs will be explored).

The rest of the term (time permitting) will be for project work, for investigating advanced Java features and open source tools, and possibly for th ediscussion of some classic algorithms.

Advice.

  • Try to understand the concepts and principles of programming that underlie any good programs. Similarly to learning chess, get inspiration from good programs ! Study example programs and modify them. Practise !
  • Try not to fall behind ! As weeks pass, new concepts will be taught based on concepts discussed already in previous weeks.
  • This is a difficult course (the most difficult in the ITI program, according to student feedback). Plan to spend at least 5-8 hours per week outside class doing the readings and exercises.

Requirements.

  • You will do a lot of work based on the projects that come with the book on the CD, so you need to have the projects with you for every class. However, you will want to modify or expand the existing projects; therefore you will need to make a copy of the projects on writable media (jump-drive, floppy disk) or to work on the C: drive and FTP your files to eden (the network is occasionally down, so FTP-ing your files is not a reliable solution). Alternatively, use your own laptop.
  • You will have a folder called 430 in your eden webspace (in public_html); you will upload there your homeworks. You are responsible for setting the access permissions right, so that your work can be inspected.
  • We are going to pilot the use of Sakai, an open source course management system. The submission of the assignment and the distribution of grades will be via Sakai. It also provides chat, threaded discussions, and a listserv. Use it !
  • Note. Don't mis-interpret the image. Food and drink are strictly not allowed in computer labs ! Also, the computer lab is not an Internet cafe; do not use email / chat software and do not surf the Web during class !

    Out of politeness for your colleagues and I, please

    • turn off your mobile phones during class;
    • do not walk in and out of the lab during class, unless necessary;
    • do not talk among yourselves, unless asked to discuss an issue or to work together on a problem.

    Grading

    You will be graded based on assignments, projects and, to a lesser extent, homeworks. The instructor may adjust the final grade according to the student's participation (not just presence) in class (positive or negative), and to extra-credit work.

    You may occasionally be asked to grade each other's work. Each time you will be randomly allocated a colleague, whose work you need to evaluate; that person will not know that you are checking their work, unless you tell them. I will selectively check the quality of your evaluation. This will count as class participation and it is also an occasion for you to train your attention and analytical skills.

    Assignments

    The assignments will attempt to test the students' understanding of object-oriented design principles and their practical skills in using these, as well as their creativity and problem-solving skills. Therefore, you will be allowed to consult the textbook, your lecture notes, your homework solutions, as well as any printed or online resources, in order to solve the assigned problems.

    Note. Unless explicitly stated otherwise, the students will work and will be graded individually (although some discussion of the assignment requirements between students is acceptable). Please read carefully the University regulations on plagiarism and other formsof cheating.

    Note. The assignments will have similarities (in terms of conceptual model) with project discussed in the textbook and in class. Therefore, study these projects well !

    Projects

    As this is an advanced class group projects will be assigned in the secondpart of the course. Students will be graded based on the quality of the group's solution, to the individual contribution to the solution, and to the quality of the participation in the team.

    Grades

    The table below indicates the grades assigned in the ITI program, as well as the official numerical equivalent (scale 0 - 4). For convenience, I used a scale from 0.0 to 8.0, by simply doubling the official numbers.

    Do not expect an A without outstanding assignment solutions and/or submission of optional extra-work and/or active class participation.

    Grade Description Numeric equivalent
    A Outstanding 4.0
    B+   3.5
    B Good 3.0
    C+   2.5
    C Satisfactory 2.0
    D Poor 1.0
    F Failing 0.0

     

    Read the ITI Student Handbook in order to be familiar with university rules and regulations.

    Please read the University's Policy on Academic Integrity for Undergraduate and Graduate Students.