Course syllabus
Course-PM
DAT055 Object-Oriented Applications lp4 VT24 (7,5 hp)
Department of Computer Science and Engineering (CSE)
Examiner:
Yehia Abd Alrahman, Associate Professor in Computer Science
Teaching Assistants
- Wincent Stålbert Holm
- Adam Andersson
Student Representatives:
- TIDAL husseinalsaadi03@gmail.com Hussein Al-Saadi
- TIDAL yosufamiri2016@gmail.com Yosuf Amiri
- TIDAL zebastian.bjorkqvist@gmail.com Zebastian Björkqvist
- TIDAL Markus.gillberg1@gmail.com Markus Gillberg
- TIDAL m.mehrzad.2030@gmail.com Niloofar Mehrzad
Mid course evaluation
Evaluation Download Evaluation
Course purpose
This course shall give extended knowledge and skill in object oriented programming techniques, with emphasis put on model driven development in small project groups.
Start by forming project groups (5 students/group).
Schedule to meeting with the project supervisor will be posted soon.
See the Project requirements.
Slack
Join the Slack channel to ask questions to your TA or the examiner here Links to an external site..
Schema
TimeEdit Links to an external site.
Course literature
- Chacon, Scott, Pro git. Links to an external site.
- Bloch, Joshua, Effective Java, 3rd Edition Links to an external site.
- Horstmann, Cay, Big Java, 7th Edition Links to an external site.
Course structure
The teaching consists of lectures, (a few) teacher-supervised practice sessions and supervised project meetings. The course includes a laboratory component in the form of project work. The project group constructs and documents a sizeable application designed according to the object-oriented methodology. A successful project requires individual efforts and commitment of the group members!
Active participation during the entire project period is required for an approved project.
Learning objectives and syllabus
- construct object oriented programs with graphical user interfaces and threads.
- construct object oriented models in a graphical modelling language.
- use commonly available computer based program development tools.
- perform program development in a project group.
Examination
Exam: Written exam 2024-05-31, 8:30-12:30, 4.5 credits. (Always check this page Links to an external site. for examination dates)
Laboratories: In the form of projects, 3 credits.
In order to be approved for the project, active participation in the project group is required throughout the project period.
Final grade in scale (U-5) is given after approved project (result U or G) and is based only on exam results (U-5).
Sample Exam Questions Download Questions Solutions (all are in the slides)
Content
The course uses Java as the programming language and UML as the modeling language.
The enumeration is not chronological.
- UML is used for modelling and Java for coding.
- A program development process for object oriented programs.
- Object oriented modelling in UML.
- Computer based tools for oriented methodology (CASE).
- The Model-View-Controller architecture.
- A survey of common design patterns.
- Structured error handling.
- Streams and files.
- Parallel programming. Active objects and threads.
- Communication. Ports, sockets, datagram, client-server.
- Reflection and class loading.
Software Development Tools
For programming: Each group is free to choose which programming IDE to choose. I prefer VSCODE Links to an external site., but you can use IntelliJ Links to an external site. och Eclipse Links to an external site.. It is highly recommended that everyone in the group uses the same development environment.
Form modelling: LucidCharts Links to an external site. is a very good, but the free version is somewhat limited, there are many free web app for drawing charts.
The following are free:
- YUML Links to an external site.
- PlantUML Links to an external site.
- UMLET Links to an external site.
Your repositories must be private. Share only within the group and with the group's supervisor.
Lectures
Course summary:
Date | Details | Due |
---|---|---|
Mon, 18 Mar 2024 | Calendar event DAT055 Lecture | 13:15 to 15:00 |
Tue, 19 Mar 2024 | Calendar event DAT055 Lecture | 13:15 to 15:00 |
Wed, 20 Mar 2024 | Calendar event DAT055 Lecture | 10:15 to 12:00 |
Thu, 21 Mar 2024 | Calendar event DAT055 Lecture | 8:15 to 10:00 |
Mon, 25 Mar 2024 | Calendar event DAT055 Lecture | 13:15 to 15:00 |
Tue, 26 Mar 2024 | Calendar event DAT055 Lecture | 10:15 to 12:00 |
Mon, 8 Apr 2024 | Calendar event DAT055 Lecture | 10:15 to 12:00 |
Wed, 10 Apr 2024 | Calendar event DAT055 Lecture | 13:15 to 15:00 |
Thu, 11 Apr 2024 | Calendar event DAT055 Lecture | 10:15 to 12:00 |
Fri, 12 Apr 2024 | Calendar event DAT055 Lecture | 10:15 to 12:00 |
Tue, 16 Apr 2024 | Calendar event DAT055 Lecture | 10:15 to 12:00 |
Tue, 23 Apr 2024 | Calendar event DAT055 Lecture | 10:15 to 12:00 |
Fri, 26 Apr 2024 | Calendar event DAT055 Lecture | 8:15 to 10:00 |
Fri, 10 May 2024 | Assignment Draft report and project | due by 23:59 |
Tue, 14 May 2024 | Calendar event DAT055 Lecture | 10:00 to 12:00 |
Fri, 17 May 2024 | Assignment Peer-review | due by 23:59 |
Wed, 22 May 2024 | Calendar event Exam discussion | 15:15 to 17:00 |
Sat, 1 Jun 2024 | Assignment Final report and project | due by 23:59 |