Introductory Programming (Autumn 2019)
Official course description:
Course info
Programme
Staff
Course semester
Exam
Abstract
This course teaches the basics of Java programming, enabling you to work practically in a modern high-level language
Description
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 prerequisites
You 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.
Learning activities
The first two thirds of the semester will mainly consist of lectures and exercises. In the final third of the semester, all students must do a programming project. Therefore, teaching will gradually gain more character from project work and guidance. 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 activities
7 out of 10 weekly assignments must be approved, as well as 2 out of 2 on-line programming assignments (on-site, closed book) must be approved to be eligible for the exam.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.
Course literature
David J. Barnes & Michael Kölling
Objects First with Java - A Practical Introduction using BlueJ
Sixth Edition, Pearson, 2016
ISBN (Global Edition): 978-1-292-15904-1
Ordinary exam
Exam type:D: Submission of written work with following oral, external (7-trinsskala)
Exam variation:
D2G: Submission of written work for groups with following oral exam supplemented by the work submitted. The group has a shared responsibility for the content of the report.
Exam description:
Mixed 1
Duration 30: minutes per student
Group size: 3-4 students
Hand-in: Programming project consisting of code and report. Detailed information will be available in learnIT.
reexam
Exam type:Z. To be decided, - (-)