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 2024-2025. Merk at det kan komme endringer.

See course description and exam/assesment information for this semester (2024-2025)

Semesters

Fakta

Emnekode

DAT240

Vekting (stp)

10

Semester undervisningsstart

Autumn

Undervisningsspråk

English

Antall semestre

1

Vurderingssemester

Autumn

Content

NB! This is an elective course and may be cancelled if fewer than 10 students are enrolled by August 20th.

  • 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

Introductory course for engineers - Computer science and electrical engineering (ING100)

Anbefalte forkunnskaper

Algorithms and Datastructures (DAT200), Database Systems (DAT220), Operating Systems and Systems Programming (DAT320)

Exam

Form of assessment Weight Duration Marks Aid Exam system Withdrawal deadline Exam date
Project assignment 1/1 Letter grades 31.10.2024


Final grade is based on the group project, consisting of one large assignment demonstrating the application of concepts and techniques learned in the course. The project is to be performed in a group. The grade for the project will be based on the submitted project assignment including program code.

If a student fails the project, she/he has to take the project next time the course is lectured.

Vilkår for å gå opp til eksamen/vurdering

Compulsory assignments, Oral presentation

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 QuickFeed 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.

Mandatory oral presentation of all group members during project submission.

Fagperson(er)

Course teacher:

Glenn Frode Henriksen

Head of Department:

Tom Ryen

Course coordinator:

Vinay Jayarama Setty

Method 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

Computer Science - Bachelor in Engineering
Admission to Single Courses at the Faculty of Science and Technology
Industrial Economics - Master of Science Degree Programme, Five Year Industrial Automation and Signal Processing - Master's Degree Programme - 5 year
Exchange programme at Faculty of Science and Technology

Emneevaluering

There must be an early dialogue between the course supervisor, the student union representative and the students. The purpose is feedback from the students for changes and adjustments in the course for the current semester.In addition, a digital subject evaluation must be carried out at least every three years. Its purpose is to gather the students experiences with the course.

Litteratur

Book Agile software development : principles, patterns, and practices Martin, Robert C., Upper Saddle River, N.J., Pearson Education, XXII, 529 s., c2003, isbn:0135974445, E-book C# 9 and . NET 5 - Modern Cross-Platform Development - Fifth Edition: Build Intelligent Apps, Websites, and Services with Blazor, ASP. NET Core, and Entity Framework Core Using Visual Studio Code Price, Mark J, Birmingham, Packt Publishing, Limited, 2020, isbn:9781800560710, https://bibsys-ur.userservices.exlibrisgroup.com/view/uresolver/47BIBSYS_UBIS/openurl-XYEUBIS?ctx_enc=info:ofi/enc:UTF-8&ctx_id=10_1&ctx_tim=2022-05-20T08%3A18%3A06IST&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-proquest&rft_val_fmt=info:ofi/fmt:kev:mtx:book&rft.genre=book&rft.btitle=C%23%209%20and%20.%20NET%205%20-%20Modern%20Cross-Platform%20Development%20-%20Fifth%20Edition&rft.au=Price,%20Mark%20J&rft.date=2020&rft_id=info:doi/&rft.eisbn=9781800560710&rft.eisbn_list=1800560710&rft.pub=Packt%20Publishing,%20Limited&rft.place=Birmingham&rft_id=info:bibcode/&rft_id=info:hdl/&rft_id=info:lccn/&rft_id=info:oclcnum/1224370209&rft_id=info:pmid/&rft_id=info:eric/&rft_dat=%3Cproquest%3EEBC6407169%3C/proquest%3E%3Curl%3E%3C/url%3E,language=eng,view=UBIS&svc_dat=viewit&user_ip=10.16.56.56&req.skin=primo&rft_pqid=EBC6407169View online Book Domain-driven design : tackling complexity in the heart of software Evans, Eric, Boston, Addison-Wesley, xxx, 529 s., c2004, isbn:0321125215, Book Build your own 2D game engine and create great web games : using HTML5, JavaScript, and WebGL2 Sung, Kelvin,, New York :, Apress, 1 online resource (xxii, 741 pages) :, [2022]; ©2022, isbn:1-4842-7377-X, https://bibsys-ur.userservices.exlibrisgroup.com/view/uresolver/47BIBSYS_UBIS/openurl-XYEUBIS?ctx_enc=info:ofi/enc:UTF-8&ctx_id=10_1&ctx_tim=2024-05-02T15%3A26%3A57IST&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&rft_dat=ie=47BIBSYS_UBA:51131908370002209,ie=47BIBSYS_UBIN:51132227470002211,ie=47BIBSYS_NMBU:5161468160002213,ie=47BIBSYS_HIO:51122629020002218,ie=47BIBSYS_HIOA:51172768060002212,ie=47BIBSYS_SIRUS:5159468310002256,ie=47BIBSYS_UBB:51206815130002207,ie=47BIBSYS_UBTO:51200090070002205,ie=47BIBSYS_UBO:51283316240002204,ie=47BIBSYS_NTNU_UB:51309940710002203,ie=47BIBSYS_MH:51116705130002296,ie=47BIBSYS_HIT:5196617490002210,ie=47BIBSYS_NETWORK:71640441820002201,language=eng,view=UBIS&svc_dat=viewit&u.ignore_date_coverage=true&user_ip=10.16.56.56&req.skin=primoView online Book Fundamentals of game design Adams, Ernest, [Berkeley, Calif.], New Riders, XIV, 560 s., cop. 2014, isbn:9780321929679, https://bibsys-ur.userservices.exlibrisgroup.com/view/uresolver/47BIBSYS_UBIS/openurl-XYEUBIS?ctx_enc=info:ofi/enc:UTF-8&ctx_id=10_1&ctx_tim=2024-05-02T15%3A29%3A09IST&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&rft_dat=ie=47BIBSYS_UBO:51239673070002204,ie=47BIBSYS_MH:51116845150002296,ie=47BIBSYS_HIT:5129386060002210,ie=47BIBSYS_NETWORK:71532181480002201,language=eng,view=UBIS&svc_dat=viewit&u.ignore_date_coverage=true&user_ip=10.16.56.56&req.skin=primoView online Book Game programming patterns Nystrom, Robert, Lexington, KY, Genever Benning, VII, 345 s., 2014, isbn:9780990582908,
The course description is retrieved from FS (Felles studentsystem). Version 1