IT-Universitetet i København
 
  Tilbage Kursusoversigt
Kursusbeskrivelse
Kursusnavn (dansk):Objektorienteret programmering 
Kursusnavn (engelsk):Object-oriented Programming 
Semester:Forår 2009 
Udbydes under:cand. it, softwareudvikling (swu) 
Omfang i ECTS:7,50 
Kursussprog:Engelsk 
Kursushjemmeside:https://learnit.itu.dk 
Min. antal deltagere:
Forventet antal deltagere:65 
Maks. antal deltagere:150 
Formelle forudsætninger:Formal prerequisites:
The expected experience corresponds to the course Introductory Programming (GP) and a follow-up programming project. Alternatively, extensive practical programming experience can make up for lack of prior familiarity with Java or other object-oriented programming languages.


Other:
Prior to starting the course, you are kindly advised to have a look and get acquainted with the Luvit online platform that is used to conduct this net-based class. A 1-hour introduction to Luvit will be provided at the begin of the very first seminar at ITU of Copenhagen.
You are similarly encouraged you to install and try out on your own laptop the NetBeans IDE (you can find it at: http://www.netbeans.org/downloads/index.html) which is the application used during seminars to develop, explain, and discuss Java programming.

 
Læringsmål:The course will cover the key concepts of object oriented programming, exemplified in Java. After the course you are expected to be able to design and implement large scale programs. The course will touch upon the several of following topics: inheritance and polymorphism, exceptions handling, recursive programming, threads and concurrent programming, containers and collection classes, input and output, sockets and networking, graphical user interfaces, database access, packages and packaging, introspection, and RMI and distributed applications.

The goal of the course is to be able to apply the key concepts of object-oriented programming, exemplified in Java. After the course it is expected that one can design and implement programs in the order of a few thousand lines of Java code.

The course will give you the following skills:

- You will be able to apply issues related to design using inheritance in a single inheritance language like Java.
- You will be able to design a program that consists of several packages.
- You can design programs that use the Collection library.
- You design exception handling in applications and frameworks.
- You can conclude when to use inheritance and when to use composition.
- You can design programs that use the IO library of Java.
- You will be able to design user interfaces using Swing.
- You can use a language reference manual to answer concrete semantic issues related to Java.
- You can design programs that will enable you to understand class libraries in detail.
- You will be able to analyse feature interactions in the Java language.
 
Fagligt indhold:Inheritance is the main characteristic that distinguishes object-oriented programming from other programming paradigms. However, it should not be used all over, and the course present alternatives. The tradeoffs will be illustrated by examples from the Java libraries, in particular Collections, IO and Swing.

The concrete curriculum will focus on a selection of topics, for example: Classes, references, objects, initialization, garbage collection, encapsulation, packages, composition, polymorphism, interfaces, nested classes, collections, exception handling, threads, IO, Swing.
 
Læringsaktiviteter:Netbaseret undervisning med et antal seminarer

This course is net-based hence your learning process and experience might differ from standard class teaching style. Technically, the course is structured in five seminars, each taking place at the IT University of Copenhagen and each falling on a Saturday.

In between seminars, you are expected to revise the material discussed in the previous class(es), read the material for the upcoming class and complete any given assignments.

The Luvit online platform will be the foundation for any interaction with your fellow students and your instructor. You are strongly encouraged to interact with your fellow students over the Internet to discuss and sort out any issues and open questions that might arise from task assignments and teaching materials. To that extent, you will be required to use Luvit to upload your assignments, and expected to spontaneously participate in online discussions, to comment on other’s student solutions and to take part to course related chat sessions. During the course, you will also be assigned a research paper to comment upon.

You will be emailed a user-name and a password to sign into the Luvit system a few days before the first seminar. Other instructions on that will follow by email

----------
The course is net based. The course includes teaching over the internet, studies at home, and 5 seminars at ITU on Saturdays from 10:30 until 5:30pm with a 1 hour break.

The seminar take place on the following Saturdays.
31 January
7 February
21 March
25 April
16 May

You will be able to access the Luvit platform around the clock, 24x7,
Please, on the first seminar day bring along or have access to a digital photo of yourself.

It is expected that one will use approximately 12,5 hours a week on this course, all included.

Voluntary exercises will be scheduled shortly. They will take place in the day time. 

Eksamensform og -beskrivelse:X. experimental examination form (7-scale; external exam), 7-trins-skala, Ekstern censur

In the weeks between seminars, you will be tasked with assignments. They will be either posted on the Luvit platform or given at seminars. Whichever the case, they will be always uploaded in Luvit.

You will be given a deadline to hand-in your solutions and comments to the assigned tasks. Handing-in your solutions, in this course jargon, means that you will need to upload them in Luvit for anybody to see and, if wished so, to comment on.
Deadlines are strict but each of you is allowed to up to two justifications for delay with no question added. These assignments are mandatory to attend the final exam. A rating of your work, an acceptance, and comments from your teacher will be available in the online platform within one week after the deadline.

You may be required to hand-in a new solution of your assignment if the one you proposed is not accepted by your instructor. Accordingly, you will be given a new deadline for that.

- You have to hand-in all assignment and get 90% of the assignments accepted to be allowed to attend the final exam.
 

Litteratur udover forskningsartikler:The course is not based on any specific books. Your instructor will pick topics from many different sources. There are several books that address the same topics and discuss the same content but differ only in the way the information is presented and graphically displayed. Liking or not the stylistic and layout nature of a given book is subjective and thus the students are let free to choose the books they wish. The important point is for the students to have access to updated Java Programming books and Object-oriented Programming texts that deals in details with the topics indicated as keywords in the section “Course Content” of this document.
The following is not a mandatory list of literature but only an exemplary list of samples in the very large ocean of literature related to the subjects discussed in the course.

1- Bertrand Meyer, Object-Oriented Software Construction, 2nd edition, 1997, Prentice Hall. (this is a book about general Object-oriented Programming)
2- Todd Greanier, Java Foundations, 2004, Sybex Inc. (this is a book specifically about the Java programming language)
3- An online tutorial can be found e.g. at: http://java.sun.com/docs/books/tutorial

Students are also suggested to search for information on the web which is rich of freely available books/tutorials/miscellaneous info/advanced papers on Object-oriented Programming and Java.
Books should be available at the bookstore at ITU or can be found in most online bookstores.
 
 
Afholdelse (tid og sted)
Kurset afholdes på følgende tid og sted:
UgedagTidspunktForelæsning/ØvelserStedLokale
Lørdag 10.00-12.00 Forelæsning ITU 3A14 (Lectures 10.30-13.30)
Lørdag 15.00-17.00 Øvelser ITU 3A50, 3A52 (excersises 14.30-17.30)

Eksamen afholdes på følgende tid og sted:
EksamensdatoTidspunktEksamenstypeStedLokale
2009-06-03 09.00-13.00 Skriftlig eksamen ITU 2A12-2A14