Programplaner og emneplaner - Student
DATS2300 Algorithms and Data Structures Course description
- Course name in Norwegian
- Algoritmer og datastrukturer
- Weight
- 10.0 ECTS
- Year of study
- 2019/2020
- Course history
-
- Curriculum
-
FALL 2019
- Schedule
-
Introduction
Emnet handler om analyse, design, implementasjon og anvendelse av de algoritmene og datastrukturene som brukes i vanlig og avansert databehandling.
-
Recommended preliminary courses
After completing the course, the student is expected to have achieved the following learning outcomes defined in terms of knowledge, skills and general competence:
Knowledge The student is capable of explaining:
- different phases and activities that form part of software engineering
- different methods and technologies for software engineering
- the use of different process models, methods, techniques and tools to achieve project and system quality
Skills
The student is capable of:
- applying methods and techniques to obtain, analyse and specify requirements for a system
- designing software systems
- considering and applying expedient processes, methods, techniques and tools for software development
- creating system design based on a requirements analysis
General competence
The student has:
- knowledge of qualitative and quantitative research methods
-
Required preliminary courses
Ingen ut over opptakskrav.
-
Learning outcomes
Etter å ha gjennomført dette emnet har studenten følgende læringsutbytte, definert i kunnskap, ferdigheter og generell kompetanse.
Kunnskap
Studenten kan:
- forklare oppbyggingen og hensikten med datastrukturer som tabeller, lister, stakker, køer av ulike typer, heaper, hashtabeller, trær av ulike typer, grafer og filer
- gjøre rede for virkemåten og effektiviteten til ulike varianter av algoritmer for opptelling, innlegging, søking, sletting, traversering, sortering, optimalisering og komprimering
Ferdigheter
Studenten kan:
- designe, implementere og anvende datastrukturer for ulike behov
- analysere, designe, implementere og anvende de algoritmene som trengs for å løse konkrete oppgaver
- bruke både egenutviklede og standardiserte algoritmer og datastrukturer til å løse sammensatte og kompliserte problemer
Generell kompetanse
Studenten kan:
- delta i diskusjoner og gi råd om hvilke datastrukturer og algoritmer det er mest hensiktsmessig å bruke i ulike situasjoner
- formidle viktigheten og nødvendigheten av å bruke gode strukturer og effektive algoritmer i programmeringsprosjekter
-
Teaching and learning methods
Forelesninger og individuelle øvinger. Øvingene er basert på eget arbeid med veiledning fra faglærer og/eller en studentassistent.
-
Course requirements
Følgende arbeidskrav er obligatorisk og må være godkjent for å fremstille seg til eksamen:
- 3 gruppearbeider (kode pluss dokumentasjon)
-
Assessment
Eksamensform: Individuell skriftlig eksamen på 3 timer.
Eksamensresultat kan påklages.
-
Permitted exam materials and equipment
Ingen.
-
Grading scale
In this course, the students shall develop knowledge, skills and general competence relating to the development of software systems. The students shall gain insight into how the properties of the systems are defined, the framework for the development and how the development process is managed. Furthermore, the students shall learn to understand some of the complexity of the interaction between software systems and different user and stakeholder groups. The students shall understand the essence of and develop the ability to critically assess both modern (including agile) and traditional methods and technologies for software engineering.
-
Examiners
No requirements over and above the admission requirements.
-
Overlapping courses
The following coursework is compulsory and must be approved before the student can sit the exam:
- three big group assignments (3-5 students) where the students demonstrate their understanding of the course literature. The groups are expected to submit papers that clearly show that they have discussed and reflected on the assignments.