Course syllabus adopted 2019-02-20 by Head of Programme (or corresponding).
Overview
- Swedish nameAlgoritmer och datastrukturer
- CodeLET375
- Credits7.5 Credits
- OwnerTIDAL
- Education cycleFirst-cycle
- Main field of studyComputer Science and Engineering, Software 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 62121
- Maximum participants120
- 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 |
---|---|---|---|---|---|---|---|
0105 Examination 6 c Grading: TH | 6 c |
| |||||
0205 Written and oral assignments 1.5 c Grading: UG | 1.5 c |
In programmes
- TIDAL - COMPUTER ENGINEERING, Year 2 (compulsory)
- TKELT - ELECTRICAL ENGINEERING, Year 3 (compulsory elective)
- TKIEK - INDUSTRIAL ENGINEERING AND MANAGEMENT - Information technology, Year 2 (compulsory)
Examiner
- Peter Ljunglöf
- 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.
Course specific prerequisites
Skills in object oriented programming comprising classes and objects, data encapsulation, inheritance and polymorphism in Java, corresponding to DAT050 Object oriented programming. Elementary skills in discrete mathematics.Aim
Algorithms and data structures comprises fundamental components in most modern software products. Knowledge and skill in techniques for the construction and analysis of algorithms are important tools in the construction of correct and efficient programs. Knowledge of data abstraction and data structures is important in the construction of, use, and maintenance of adaptable and reusable program components. The course shall give knowledge and skill in the construction and use of algorithms and data structures, and an introduction to various techniques for the analysis of algorithms together with insights in the advantages of using data abstraction in program development.Learning outcomes (after completion of the course the student should be able to)
- use various algorithm techniques as tools for problem solving in program construction.
- perform analysis of the resource demands of algorithms and data structures.
- use various data structures and gain basic knowledge about important applications.
- use standard software libraries for data structures and algorithms.
- implement data structures in an object oriented language.
Content
- Java is used for coding.
- Algorithm techniques: iterative and recursive algorithms, proof by induction, divide and conquer, backtracking, dynamic programming.
- Analysis of the resource demands of algorithms and data structures with respect to computation timed and memory consumption. Asymptotic complexity, average complexity and worst case complexity.
- Linear and binary search.
- Sorting algorithms and their properties.
- The concepts abstract data type and data structure.
- Data structures: vectors, strings, stacks, queues, lists, trees, binary search trees, hash tables, priority queues, graphs, sets. Common applications. Typical properties and time complexity for the operations in the various structures.
- Standardised algorithms and classes for data structures.
- Implementation of data structures.