English   Danish

2024/2025  KAN-CDSCO2402U  Programming, Algorithms and Data Structures

English Title
Programming, Algorithms and Data Structures

Course information

Language English
Course ECTS 7.5 ECTS
Type Mandatory
Level Full Degree Master
Duration One Semester
Start time of the course Autumn
Timetable Course schedule will be posted at calendar.cbs.dk
Study board
Master of Science (MSc) in Business Administration and Data Science
Course coordinator
  • Somnath Mazumdar - Department of Digitalisation (DIGI)
Main academic disciplines
  • Information technology
Teaching methods
  • Face-to-face teaching
Last updated on 10-04-2024

Relevant links

Learning objectives
Students should meet the following learning objectives:
  • Understand fundamental Python programming concepts, techniques and methods.
  • Design and implement programs using Python programming language using its appropriate syntax and features.
  • Demonstrate understanding of imperative, declarative and object-oriented language features of Python language and know when it is appropriate to use each.
  • Write programs in Python programming language that make use of external libraries, APIs, etc.
  • Demonstrate a basic understanding of algorithm analysis and program complexity.
  • Exhibit deeper knowledge and understanding of the topics as part of the project and the report should reflect on critical awareness of the methodological choices with written skills to accepted academic standards.
Course prerequisites
It is recommended to have a basic understanding of logic, algorithms and programming.

This course will introduce programming basics, computation methods, and problem-solving algorithm development. It also includes algorithmic analysis, program design and object-oriented design. Therefore it requires an interest in and commitment to hands-on learning during exercise sessions.
Prerequisites for registering for the exam (activities during the teaching period)
Number of compulsory activities which must be approved (see section 13 of the Programme Regulations): 2
Compulsory home assignments
Each assignment is max. 5 pages + appendix, written in a group of 2-4 students. The students have to get 2 out of 3 assignments approved to go to the exam.

There will not be any extra attempts provided to the students before the ordinary exam. If a student cannot hand in due to documented illness, or if a student does not get the activity approved in spite of making a real attempt to pass the activity, then the student will be given one extra attempt before the re-exam. Before the re-exam, there will be an individual home assignment (max.15 pages) which will cover 2 mandatory assignments.
Examination
Programming, Algorithms and Data Structures:
Exam ECTS 7,5
Examination form Home assignment - written product
Individual or group exam Individual exam
Size of written product Max. 15 pages
Assignment type Project
Release of assignment An assigned subject is released in class
Duration Written product to be submitted on specified date and time.
Grading scale Pass / Fail
Examiner(s) One internal examiner
Exam period Winter
Make-up exam/re-exam
Same examination form as the ordinary exam
Course content, structure and pedagogical approach

This course provides an introduction to Python programming and object-oriented design. Furthermore, this course provides knowledge primarily on below three topics

 

  1. Introduction to Python programming language such as programming basics, functions, classes, modules, data structures, collections, and others.
  2. Introduction to object-oriented design: concept, class and object, inheritance, encapsulation and polymorphism.
  3. Introduction to algorithmic analysis, and complexity.

 

The course provides the students with practical hands-on experience on the above topics. After completing the course the students will be able to apply and use various programming constructs in Python language.

Description of the teaching methods
The course consists of lectures, exercises, and mandatory assignments. The lectures will ONLY be delivered offline and the hands-on exercise sessions will be conducted on campus. There will be teaching assistant(s) providing technical support for the hands-on exercise sessions.

The presented theories, concepts and methods should be applied in practice in the exercise sessions. The students will work on the mandatory assignments to consolidate their understanding of the concepts and the application of the concepts using the practical skills obtained from the hands-on exercises.
Feedback during the teaching period
During the hands-on exercises following each lecture, the students will receive help and feedback in solving the practical hands-on exercises from the teacher and the teaching assistant(s).
Student workload
Lectures 32 hours
Exercises 32 hours
Prepare to class 44 hours
Project work & report 80 hours
Exam and prepare 10 hours
Total 206 hours
Expected literature

Textbooks:

  1. Sweigart, A. (2019). Automate the boring stuff with Python: practical programming for total beginners. No Starch Press. 2nd Edition (12 Nov. 2019, ISBN-10: 1593279922, ISBN-13: 978-1593279929).
  2. Wengrow, J. (2020). A common-sense guide to data structures and algorithms: level up your core programming skills. O'Reilly Media; 2nd edition (1 Sept. 2020, ISBN-10: ‎1680507222, ISBN-13: 978-1680507225).
Last updated on 10-04-2024