Official course description:
AbstractThis course teaches the basics of Java programming, enabling you to work practically in a modern high-level language
Computers operate under the hood by following programs: sequences of instructions of what to do, along the lines of “add 7 to this variable”, “write on the screen”, “proceed this way if x is 7, this other way otherwise”. Programs exist at all levels of abstractions, from the very low-level and verbose assembly language understood by hardware, over the concise and powerful high-level languages used by modern programmers, to domain-specific languages used in special-purpose situations.
This course teaches the basics of Java programming, enabling you to work practically in a modern high-level language.
Object Oriented analysis, design, and implementation Programming in Java:
Classes, objects, methods, fields, variables, simple types, expressions, statements, declarations, conditionals, lazy evaluation, repetition, recursion, class libraries, regular expressions, collections, arrays, simple graphical user interface, static vs dynamic typing, virtual dispatching, generic types, class design, abstract classes, interfaces, encapsulation, test and documentation, file input/output, exceptions.
Formal prerequisitesYou should be able to use your computer to send e-mails, browse the web, install new software. You don't need any programming experience to take this course.
The course is only open to ITU MSc Software Development - Software Design students.
Intended learning outcomes
After the course, the student should be able to:
- Apply basic programming constructs in Java.
- Explain basic programming constructs in Java.
- Analyze a problem description, with the intent of implementing a solution.
- Design a system based on an analysis.
- Implement a system based on a design.
- Test a system and evaluate to what degree the tests cover the system.
The first half of the semester (before the fall break in week 42) will mainly consist of lectures and exercises, covering most of the textbook. The first few weeks after the fall break will cover more collaboration and project related topics. The last four weeks of the semester is group project work without lectures.
In the first part of the semester, live coding exercises are also included, which are sessions where practical coding is illustrated based on student needs and what the teachers consider necessary.
Mandatory activitiesThe following activities must be approved to be eligible for the exam:
- 7 out of 10 weekly assignments
- 1 midterm (on-site, closed book)
- group project (four week duration at the end of the semester)
All these activities are pass/fail.
The student will receive the grade NA (not approved) at the ordinary exam, if the mandatory activities are not approved and the student will use an exam attempt.
David J. Barnes & Michael Kölling.Objects First with Java - A Practical Introduction using Blue. Sixth Edition, Pearson, 2016. ISBN (Global Edition): 978-1-292-15904-1
Student Activity BudgetEstimated distribution of learning activities for the typical student
- Preparation for lectures and exercises: 30%
- Lectures: 10%
- Exercises: 10%
- Assignments: 20%
- Project work, supervision included: 20%
- Exam with preparation: 5%
- Other: 5%
Ordinary examExam type:
C: Submission of written work, External (7-point scale)
C22: Submission of written work – Take home
C22: Submission of written work 4 hrs. Random fraud control for 20 %
Allowed aids: Everything, except communicating or collaborating with others.
Searching online is not allowed.
A: Written exam on premises, External (7-point scale)
A22: Written exam on premises with restrictions.
Restricted access - LearnIT only
Written and printed books and notes
E-books and/or other electronic devices
- - E-books and notes on laptop
- Anything already on laptop before the exam starts