Programplaner og emneplaner - Student
DATS2300 Algorithms and Data Structures Course description
- Course name in Norwegian
- Algoritmer og datastrukturer
- Study programme
-
Bachelor in Applied Computer TechnologyBachelor's Degree Programme in Software EngineeringBachelor's Degree Programme in Mathematical Modelling and Data ScienceBachelor's Degree Programme in Information Technology
- Weight
- 10.0 ECTS
- Year of study
- 2023/2024
- Curriculum
-
FALL 2023
- Schedule
- Programme description
- Course history
-
Introduction
The course deals with the analysis, design, implementation and application of commonly used algorithms and data structures in ordinary and advanced data processing.
Recommended preliminary courses
The course builds on DAPE1300 Discrete Mathematics, DAPE1400 Programming and DATA1700 Web programming.
Required preliminary courses
No requirements over and above the admission requirements.
Learning outcomes
After completing the course, the student is expected to have achieved the following learning outcomes defined in terms of knowledge, skills and competence:
Knowledge
The student is capable of:
- explaining the structure and purpose of data structures such as tables, lists, stacks, different types of queues, heaps, hash tables, different types of trees, graphs and files
- explaining the function and efficiency of different variants of algorithms for counting, entering, searching for, deleting, traversing, sorting, optimising and compressing data
Skills
The student is capable of:
- analysing, designing, and implementing data structures, and evaluate which data structures are suited for specific tasks
- analysing, designing, implementing and using the algorithms required to solve specific tasks
- using both self-developed and standardised algorithms and data structures to solve complex and complicated problems
General competence
The student is capable of:
- participating in discussions and providing advice on what data structures and algorithms are most expedient in different situations
- communicating the importance and necessity of using good structures and efficient algorithms in programming projects
Teaching and learning methods
Lectures and individual exercises. The exercises are based on the students’ own work, supervised by the lecturer and/or a student assistant.
Course requirements
The following coursework is compulsory and must be approved before the student can take the exam:
- Two compulsory assignments (source code and documentation)
- One individual programming assignment.
Assessment
An individual digital two-hour exam under supervision.
The exam result can be appealed.
Permitted exam materials and equipment
All printed and written aids.
An approved handheld calculator that cannot be used for wireless communication or to perform symbolic calculations. If the calculator’s internal memory can store data, the memory must be deleted before the exam. Random checks may be carried out.
Grading scale
Ved å arbeide med emnet, vil studentene opparbeide innsikt i deler av matematikken som står sentralt når man skal modellere tekniske og naturvitenskapelige systemer og prosesser. Temaene som tas opp, inngår i ingeniørutdanninger over hele verden. Temaene er nødvendige for at ingeniører skal kunne kommunisere faglig, effektivt og presist, og for at de skal kunne delta i faglige diskusjoner. Arbeidet med emnet vil gi øvelse i å bruke matematisk programvare for å gjøre studentene i stand til å utføre beregninger i jobbsituasjon.
Examiners
Ingen utover opptakskrav.
Overlapping courses
Etter å ha gjennomført dette emnet har studenten følgende læringsutbytte definert i form av kunnskap, ferdigheter og generell kompetanse:
Ferdigheter
Studenten kan
- anvende den deriverte til å modellere og analysere dynamiske systemer
- stille opp og beregne størrelser hvor integraler inngår
- drøfte ideene bak noen analytiske og numeriske metoder som brukes for å løse første ordens differensiallikninger
- sette opp og løse differensiallikninger for praktiske problemer
- drøfte numeriske metoder for å løse likninger
- løse likninger med komplekse koeffisienter og komplekse løsninger
- bruke grunnleggende regneoperasjoner for matriser som multiplikasjon, addisjon og invertering
- løse lineære ligningssystemer ved reduksjon til trappeform og invertering
Kunnskap
Dette krever at studenten kan
- regne ut eksakte deriverte og antideriverte ved å bruke analytiske metoder
- med utgangspunkt i definisjonene bestemme tilnærmede numeriske verdier av den deriverte og av det bestemte integralet og vurdere nøyaktigheten av disse verdiene
- bruke den deriverte og deriverte av høyere orden til å løse optimaliseringsproblemer, problemer med koblede hastigheter og til å regne ut lineære tilnærminger
- forklare hvordan man kan bruke det bestemte integralet til å regne ut størrelser som areal, volum, buelengde og arbeid
- løse separable og lineære differensiallikninger ved hjelp av antiderivasjon
- gjøre rede for hvordan retningsfeltet til en førsteordens differensiallikning kan brukes til å visualisere løsninger til likninger
- finne numeriske løsninger av initialverdiproblem ved hjelp av Eulers metode
- løse likninger ved for eksempel halveringsmetoden og Newtons metode
- regne med komplekse tall
- gjøre rede for sammenhenger mellom lineære ligningssystem og praktiske problemstillinger
Generell kompetanse
Studenten kan
- overføre et praktisk problem fra eget fagområde til matematisk form, slik at det kan løses analytisk eller numerisk
- skrive presise forklaringer og begrunnelser til framgangsmåter, og demonstrere korrekt bruk av matematisk notasjon
- bruke matematiske metoder og verktøy som er relevante for sitt fagfelt
- bruke matematikk til å kommunisere om ingeniørfaglige problemstillinger
- gjøre rede for at endring og endring per tidsenhet kan måles, beregnes, summeres og inngå i likninger