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 52138
- Open for exchange studentsNo
- Only students with the course round in the programme overview.
Credit distribution
Module | Sp1 | Sp2 | Sp3 | Sp4 | Summer | Not Sp | Examination dates |
---|---|---|---|---|---|---|---|
0116 Laboratory 3 c Grading: UG | 3 c | ||||||
0216 Examination 4.5 c Grading: TH | 4.5 c |
|
In programmes
Examiner
- Niklas Broberg
- Senior Lecturer, Computing Science, Computer Science and Engineering
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 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.