Course syllabus for Introductory software development

The course syllabus contains changes
See changes

Course syllabus adopted 2022-02-17 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 52112
  • 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
  • 25 Okt 2023 pm J DIG
  • 12 Mar 2024 am J DIG
  • 20 Aug 2024 am J DIG

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)

Knowledge and understanding:
  • Explain basic concepts in imperative and object-oriented programming, using adequate terminology
  • Give an overview of the relation between hardware, operating system and application

Competence and skill:
  • Use basic mechanisms and concepts in program development, such as types, variables, references, objects, statements and expressions etc.
  • Implement simple imperative and object-oriented programs with both text-based and graphical user interfaces
  • Construct and structure algorithms to solve simple programming problems
  • Structure large programs in manageable and reuseable units using koncepts like modules, classes and functions, as well as functional decomposition
  • Form readable, descriptive and well-documented program code
  • Use a modern development environment, with tools like code editors and version control.
  • Apply basic tools and methods supporting an inclusive cooperation in group work

Judgement and approach:
  • Argue for implementation choices, with reference to best practices for program development
  • Reflect on ethical consequences of following best practices for program development

Content

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

  • In- and output
  • Literals, types, variables, declarations, initialization, operators, expressions and statements, scope
  • Control statements: if, while, for, break, continue, return, try, raise
  • One- and two-dimensional lists
  • Methods, parameters, arguments, 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.
  • Graphical and event driven programs
  • Exceptions and exception handling
  • Overview of file handling
  • Texthandling, strings
  • Simple datastructures (list, dictionary, set, stack)
  • 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 digital 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 course:
    • 2023-06-19: Examination Examination changed by Examinator, PA
      Updated information about examination
  • Changes to course rounds:
    • 2023-04-27: Examinator Examinator changed from Niklas Broberg (d00nibro) to Jean-Philippe Bernardy (bernardy) by Viceprefekt/adm
      [Course round 1]
  • Changes to module:
    • 2023-05-05: Digital exam Changed to digital exam by Schemagrupp/examinator
      [0216 Examination 4,5 credit] Changed to digital examination