Syllabus for |
|
TDA545 - Object-oriented programming |
|
Syllabus adopted 2015-02-12 by Head of Programme (or corresponding) |
Owner: TKITE |
|
7,5 Credits |
Grading: TH - Five, Four, Three, Not passed |
Education cycle: First-cycle |
Major subject: Information Technology
|
Department: 37 - COMPUTER SCIENCE AND ENGINEERING
|
Teaching language: Swedish
Course module |
|
Credit distribution |
|
Examination dates |
Sp1 |
Sp2 |
Sp3 |
Sp4 |
Summer course |
No Sp |
0104 |
Examination |
4,5 c |
Grading: TH |
|
4,5 c
|
|
|
|
|
|
|
29 Oct 2015 pm H, |
04 Jan 2016 am H, |
24 Aug 2016 am M |
0204 |
Laboratory |
3,0 c |
Grading: UG |
|
3,0 c
|
|
|
|
|
|
|
|
In programs
TKITE SOFTWARE ENGINEERING, Year 1 (compulsory)
Examiner:
Docent
Magnus Myreen
Replaces
TDA375
Fundamental object-oriented software development
Go to Course Homepage
Eligibility:
In order to be eligible for a first cycle course the applicant needs to fulfil the general and specific entry requirements of the programme(s) that has the course included in the study programme.
Course specific prerequisites
Aim
This is an introduction to programming that teaches object-orientated programming. Object-oriented programs consists of components, called objects, that together form programs. Objects encapsulate data and provide methods for reading and updating the encapsulated data. Objects are defined by classes. The purpose of this course is to teach basic programming skills, principles of the object-oriented paradigm, and how one constructs object-oriented programs.
Learning outcomes (after completion of the course the student should be able to)
- be able to complete simple programming tasks.
This means that one should know how to
- approach a programming task
- break the top-level task into smaller more manageable tasks
- complete the top-level task by completing all the smaller tasks
- write simple tests that help find a solution and validate the final solution
- explain and use basic concepts of object-oriented programming
This means e.g. that one should be able to explain and use
- the difference between primitive and reference types, and illustrate this with sketches of memory cells with values and references
- how one and multidimentional arrays are declared, created and used
- the difference between static methods/variables and instance methods/variables
- the difference between a methos that returns a value and a method that has result type void
- how parameter passing happens at method calls
- the difference between a class and an object
- the concept of subclass and describe how such are declared
- the concept of abstract class
- what an interface is and what it means that a klass implements an interface
- concepts dynamic binding, data encapsulation, information hiding
- how different relations are implemented using interfaces, inheritance and references
- construct methods that make use of the programming language's datatypes and control structuresThis means that one should know how to
- define static and instance meothds, using appropriate parameter and result types
- use control structures such as for-, while- and if-statements in a structured manner
- handle both one and multidimensional arrays
- use standard classes for construction of lists
- read input that has been supplied by the user
- present output for the user and make simple modifications to the output
- use exceptions to signal and deal with potential errors
- solve simple problems using recursion
- independently construct object-oriented programs that use both library classes and programmer-defined classes.This means that one should know how to:
- define classes that describe concrete and abstract concepts such as dice, bank accounts, points, rectangles, counters, etc.
- define classes that implement a given interface
- define subclasses for given classes in order to configure or modify their behaviour by redefining some method
- write programs that use standard classes such as Integer, Double, Scanner, String, StringBuffer, Arrays, Color, System, ArrayList etc.
- document the program using JavaDoc, coding standards, naming and commenting
- test programs
- write simple event-driven programs with a graphical user interface.
This means that one should know how to:
- define classes that are subclasses of standard classes and that describe windows and parts of windows
- define and register listeners for different events
Content
The Java programming language is used. The following items are discussed:
- variables, expressions and statements, priorities, meothds, parameter passing, recursion
- arrays and reading of input form the user
- simple types and reference types, type conversions
- basic object-oriented concepts such as classes, objects, methods and instance variables
- relations and briefly about UML
- different equality tests
- inheritance, polymorphism and dynamic binding
- abstract classes and interfaces
- standard classes for graphical user interface
- how to construct your own graphic components
- events and listeners
- error handling using so called exceptions
- search for documentation of standard classes on the Internet
- some of the classes in Javas API
Organisation
Teaching is in the form of lectures, group exercises and supervision of work with programming assignments.
Literature
Information on current literature will be published on the course homepage.
Examination
A written exam and a number of programming assignments.