General
News
6.04.2014— Report template is published. .tex
3.03.2014— Code analysis tools usage guidelines are published.
3.03.2014— Project description is published.
27.02.2014— We are going to present the course project at the excersice session on 3 March.
27.02.2014— Team registration is up! Please register before 11 March. If you have no team, please contact Đurica.
18.02.2014 — Posted exams from previous years.
29.01.2014 — The initial version of this page is up. Please note that the schedule and other details remain, for the moment, provisional and subject to change.
Course description
Java and C# in depth
Abstract: Java and C#, both similar and each with its own characteristics, are important languages with wide applications. This course goes into the depth of both languages, each considered for itself but also in comparison with the other.
Objective: This course provides students with an in-depth understanding of:
- The language design philosophy behind Java.
- The language design philosophy behind C#.
- The key language mechanisms of both languages, and how to use them.
- The main properties differentiating the languages.
- Introduction, object-oriented concepts.
- Basic types and control flow.
- Classes, objects, inheritance, polymorphism.
- Packages/assemblies, abstract classes and interfaces.
- Exceptions and genericity.
- Data Structures in practice.
- Reflection.
- Threads and Concurrency.
- Persistence.
- Networking.
- Design choices comparison.
- Java
- Cay S.Horstmann, Gary Cornell, Core Java 9th Edition, Prentice Hall PTR 2012, 2 volumes
- Java API specifications
- Joshua Bloch, Effective Java Second Edition (The Java Series), Addison Wesley 2008
- C#
- Jon Skeet, C# in Depth, 2nd Edition Manning 2010.
- C# programming guide
- Jeffrey Richter, CLR via C# (Microsoft, Developer Reference), 4th Edition 2012.
- Comparison between Java and C#
- Dominik Gruntz, C# and Java: The Smart Distinctions, Journal of Object Technology 1(5):163--176, 2002. Even if it's not updated with the latest features of Java and C#, it's still a valuable comparison
- http://www.25hoursaday.com/CsharpVsJava.html
Grading: The assessment consists of a project (50%), and a written semester end exam (50%). During the exam paper documents are allowed (lecture notes, books, written documents...), while electronic devices are forbidden (cell phones, laptops, calculators...). The only way to get a grade is to submit the project and take the written exam. This applies regardless of your department or status. The performance assessment is only offered at the end after the course unit. Repetition is only possible after re-enrolling.
Helping and getting help
Talk to the assistants or to your peers by using the PIAZZA.
Literature and resources
Lecture and Seminar
Schedule
Day | Time | Location |
---|---|---|
Monday (Lecture) | 13:15-15:00 | IFW A 36 |
Lecture
Date | No. | Title | Lecturer | Lecture Slides (pdf) | Additional materials |
---|---|---|---|---|---|
Monday 17.2.2014 | 1 | Introduction and O-O concepts | MP |
Course Intro OO Intro Java Intro C# Intro |
Assignment 1 Exercise session 1 slides |
Monday 24.2.2014 | 2 | Frameworks overview and in-the-small language features | MP |
Java C# |
Exercise session 2 slides |
Monday 3.3.2014 | 3 | Classes, objects, inheritance, and polymorphism | CAF |
Java C# |
Assignment 2 Exercise session 3 slides Project guidelines |
Monday 10.3.2014 | 4 | Packages, assemblies, abstract classes and interfaces | CAF |
Java C# |
Exercise session 4 slides Assignment 1 Java solution Assignment 1 C# solution |
Monday 17.3.2014 | 5 | Exceptions and genericity | CAF |
Java C# |
"Job Interwiew" slides Assignment 2 Java solution Assignment 2 C# solution |
Monday 24.3.2014 | 6 | Graphical User Interfaces | MP |
Java C# |
Exercise session 6 slides |
Monday 31.3.2014 | 7 | Data Structures | DN |
Hash tables in Java |
|
Monday 7.4.2014 | 8 | Reflection | MP |
Java C# |
Exercise session 7 slides |
Monday 14.4.2014 | 9 | Threads and Concurrency | CAF |
Intro Java C# |
Exercise session 8 slides |
Monday 5.5.2014 | 10 | Network Programming | CAF | Networking | Exercise session 9 slides |
Monday 12.5.2014 | 11 | Persistence | MP |
Java C# |
Exercise session 10 slides |
Monday 19.5.2014 | 12 | Guest lecture | BM | ||
Monday 26.5.2014 | 13 | Exam |
exam 2010 exam 2013 |
= Temporary version = Final version
Exercises
Schedule
Day | Time | Location |
---|---|---|
Monday (Exercise) | 15:15-16:00 | IFW A 36 |