Course syllabus for Introductory software development

The course syllabus contains changes
See changes

Course syllabus adopted 2021-02-26 by Head of Programme (or corresponding).

Overview

  • Swedish nameGrundläggande programvaruutveckling
  • CodeTDA548
  • Credits7.5 Credits
  • OwnerTKITE
  • Education cycleFirst-cycle
  • Main field of studySoftware Engineering
  • DepartmentCOMPUTER SCIENCE AND ENGINEERING
  • GradingTH - Pass with distinction (5), Pass with credit (4), Pass (3), Fail

Course round 1

  • Teaching language Swedish
  • Application code 52114
  • Open for exchange studentsNo
  • Only students with the course round in the programme overview.

Credit distribution

0116 Laboratory 3 c
Grading: UG
3 c
0216 Examination 4.5 c
Grading: TH
4.5 c
  • 27 Okt 2021 pm J
  • 05 Jan 2022 am J
  • 17 Aug 2022 am J

In programmes

Examiner

Go to coursepage (Opens in new tab)

Eligibility

General entry requirements for bachelor's level (first cycle)
Applicants enrolled in a programme at Chalmers where the course is included in the study programme are exempted from fulfilling the requirements above.

Specific entry requirements

The same as for the programme that owns the course.
Applicants enrolled in a programme at Chalmers where the course is included in the study programme are exempted from fulfilling the requirements above.

Aim

This course is an introduction to imperative programming and software development. The course aims to provide basic skills in programmatic problem solving using imperative methods, and give a first look at the craft of programming.

Learning outcomes (after completion of the course the student should be able to)

The student should be able to complete programming tasks on a fairly basic level. This means the student should be able to explain and use:

  • A modern development environment (editor, compiler, debugger)
  • Data as primitive variables and reference variables/objects.
  • Basic algorithms.
  • Functional decomposition and testing.
  • References: Be able to visualize reference semantics, variables, values, references, and objects.
  • Types: primitive and reference types (arrays, class, and interface types), implicit and explicit type conversions, enumeration types, wrapper types and boxing. Super and sub types.
  • Standard libraries for classes/objects and collections.
  • Own classes and implementations and interface inheritance.
  • Polymorphism
  • An object oriented model of some problem domain.

Content

The course uses the Java language. The following will be addressed:

  • In and output using streams
  • Literals, types, variables, declarations, initialization, operators, expressions and statements, casts, scope
  • Control statements: if, while, for, break, switch.
  • One and two dimensional arrays
  • Methods, parameters, return types, method calls, local variables, overloaded and overridden methods.
  • Primitive types vs reference types, value and reference semantics. Equality.
  • Classes, objects, interfaces, constructors and access. Inteface and implementation inheritance.
  • Graphical and event driven programs (JavaFX)
  • Exceptions and exception handling
  • Overview of file handling
  • Overview of generic classes and methods.
  • Texthandling, strings (String, StringBuilder, Character).
  • Java Collections
  • Instance and class variables/methods.

Organisation

Teaching is given in the form of computer exercises and labs and lectures. During exercises/labs you will be able to get help. 

Literature

Information on current literature will be published on the course homepage.

Examination including compulsory elements

A written exam and a number of compulsory programming assignments.

The course examiner may assess individual students in other ways than what is stated above if there are special reasons for doing so, for example if a student has a decision from Chalmers on educational support due to disability.

The course syllabus contains changes

  • Changes to examination:
    • 2021-11-22: Examination date Examination date changed from 2022-01-12 to 2022-01-05 by Niklas Broberg
      [2022-01-12 4,5 hec, 0216]