Course
Advanced Programming (DAT240)
The students will learn to apply software development methodologies such as agile and project management tools in developing a large group software project. Learn about various programming paradigms such as objected oriented programming, functional, etc. Learn to identify the difference between these paradigms and their limitations.
Dette er emnebeskrivelsen for studieåret 2021-2022. Merk at det kan komme endringer.
Semesters
Fakta
Emnekode
DAT240
Vekting (stp)
10
Semester undervisningsstart
Autumn
Undervisningsspråk
English
Antall semestre
1
Vurderingssemester
Autumn
Content
- Software development methodologies for example, agile methodologies such as scrum, kanban, project management tools (for design, tracking issues, sprints etc)
- Programming paradigms such as object oriented programming, functional programming, procedural programming with emphasis on strong typed languages
- SOLID principle, Design Patterns, Generics
- Advanced data structures and algorithms
- Concurrency
- Use of compilers, build tools
- Use of version control (git) and coding in teams
Learning outcome
Knowledge:
- Use of strongly typed programming languages
- Objected oriented programming and polymorphism
- Software engineering and development methodologies such as agile (scrum and kanban)
- SOLID principles and design patterns
- Best coding practices
- Concurrency
- Testing, debugging, version control, code review
Skills:
- Be capable of designing and developing complex software systems.
- Know how to apply design patterns
General competence:
- Capable of developing and managing advanced software projects
Forkunnskapskrav
Anbefalte forkunnskaper
Exam
Form of assessment | Weight | Duration | Marks | Aid | Exam system | Withdrawal deadline | Exam date |
---|---|---|---|---|---|---|---|
Programming project and oral test | 2/5 | Letter grades | — | — | — | ||
Written exam | 3/5 | 4 Hours | Letter grades | — | — | — |
Project consisting one large assignment. The project is to be performed in a group. The grade for the project will be based on the submitted program code and an oral presentation in groups of the submitted program code. Both parts must be done before final grade is given.
If a student fails the project, she/he has to take this part next time the subject is lectured.
Written exam is digital (Inspera).
Both examination units must be passed in order to receive a final grade in the course.
Vilkår for å gå opp til eksamen/vurdering
Three mandatory individual lab exercises (programming and written exercises). Pass/Fail. All obligatory exercises must be passed to attend for the written exam. Approval may take place through the Autograder system for automated evaluation, followed by in-lab approval.
Completion of mandatory lab assignments are to be made within the allotted time period. Absence due to illness or for other reasons must be communicated as soon as possible to the laboratory personnel. One cannot expect that provisions for completion of the lab assignments at other times are made unless prior arrangements with the laboratory personnel have been agreed upon.
Failure to complete the assigned labs on time or not having them approved will result in barring from taking the exam of the course.
Fagperson(er)
Course teacher:
Glenn Frode HenriksenHead of Department:
Tom RyenCourse coordinator:
Vinay Jayarama SettyMethod of work
Lectures, individual programming tasks and a project that must be done in groups.
4 hours lectures and 4 hours exercise per week.
Overlapping
Emne | Reduksjon (SP) |
---|---|
Advanced programming (BID100_1) , Advanced Programming (DAT240_1) | 5 |
Software Engineering (DAT210_1) , Advanced Programming (DAT240_1) | 10 |
Åpent for
Emneevaluering
Litteratur
Book
Software engineering Ian Sommerville (forfatter), Boston Mass., Pearson, 810, 2016, isbn:9781292096131,
Book
Domain-driven design : tackling complexity in the heart of software Evans, Eric, Boston, Addison-Wesley, xxx, 529 s., c2004, isbn:0321125215,
Book
C# 9 and .NET 5 - Modern Cross-Platform Development - Fifth Edition Packt Publishing, 2020, isbn:9781800568105, https://bibsys-ur.userservices.exlibrisgroup.com/view/uresolver/47BIBSYS_UBIS/openurl-UIS?ctx_enc=info:ofi/enc:UTF-8&ctx_id=10_1&ctx_tim=2021-05-28T13:24:09IST&ctx_ver=Z39.88-2004&url_ctx_fmt=info:ofi/fmt:kev:mtx:ctx&url_ver=Z39.88-2004&rfr_id=info:sid/primo.exlibrisgroup.com-BIBSYS_ILS&req_id=&rft_dat=ie=47BIBSYS_UBO:51265650220002204,ie=47BIBSYS_HIT:5178499470002210,ie=47BIBSYS_NETWORK:71604729360002201,language=eng,view=UBIS&svc_dat=viewit&u.ignore_date_coverage=true&user_ip=10.16.56.140&req.skin=primoView online