Official course description:

Full info last published 20/04-21
Course info
Language:
English
ECTS points:
15
Course code:
1413001U
Participants max:
215
Offered to guest students:
no
Offered to exchange students:
no
Offered as a single subject:
no
Programme
Level:
Bachelor
Programme:
BSc in Software Development
Staff
Course manager
Associate Professor
Teacher
Assistant Professor
Teacher
Assistant Professor
Course semester
Semester
Forår 2021
Start
1 February 2021
End
14 May 2021
Exam
Exam type
ordinær
Internal/External
ekstern censur
Grade Scale
7-trinsskala
Exam Language
GB
Abstract

The First Year Project is the first large project on this education. The students will plan and conduct a project in small groups, where they will get to apply the techniques they have learned throughout the first two semesters of their education. In this project, the groups must identify, define, and delimit the project, including analysis and selection of tools, technologies, data structures and algorithms to solve the given software problem. Furthermore, the group must compare the relevant design options (e.g., kd-tree vs quad-trees, Dijkstra with or without A*, possibly include more advanced routing algorithms) and implement these into a combined solution. The product must be documented, tested and evaluated in a larger report.

 


Description

The purpose of the course is to give further practical experience in programming, including the topics covered in the first two semesters of the education. In the first semester, the students have already completed smaller projects. In this course, the project spans most of the semester, and the scope of the project is closer to what they would face in their careers once their education is complete. The course highlights and combines several topics covered in the first two semesters.

Beyond the important practical experience within the topics of the first two semesters, the students are exposed to topic, which will form an important foundation for the following semesters, where these topics will be expanded further upon.

Among others the following topics will be discussed:

Software testing:
Introductory software testing and methodologies

Unit Testing with JUnit

Data processing and representation

Floating point numbers

Multidimensional representations of data

XML formats


Formal prerequisites

This course is a part of the second semester of the bachelors education in software development.

Prequsites: 

Grundlæggende Programmering

Algoritmer og Datastrukturer (in parallel)


Intended learning outcomes

After the course, the student should be able to:

  • IDENTIFY relevant solution options, such as tools, technologies, algorithms and data structures (e.g., different data structures for indexing map data, compute shortest paths, search for addresses, etc.)
  • COMPARE the relevant solution options, and select the best suited one, based on theoretical and practical performance (e.g., kd-trees vs quad-trees vs. R-trees, BST vs Trie vs sorted array, different variants of Dijkstra's algorithm).
  • DESCRIBE how the chosen solutions work, and explain why they were chosen.
  • COMBINE the chosen solutions into a complete product (implementation), which satisfies the problem description, where the theoretical elements are adapted and implemented in a practical context.
  • APPLY the principles of systematic test to the product (curate a test suite for regression testing, ensuring proper coverage using the formal coverage criteria).
  • EXPLAIN in written and oral form, which can be understood by non-experts, the chosen solution and how it works, the rationale behind the choices, and how they are adapted into the combined produkt.
Learning activities

Two weekly lectures in the first four weeks of the semester, followed by the project phase, which only has sporadic lectures, when topics from Algorithms and Data Structures needs further clarification.


Mandatory activities

During the entire project phase, the groups must complete weekly status reporting including a release of the partially completed product, with resubmission in week after in case of unsatisfactory report.

The students will receive the grade NA (not approved) at the ordinary exam, if the mandatory activities are not approved, and the students spends an exam attempt.

 


The student will receive the grade NA (not approved) at the ordinary exam, if the mandatory activities are not approved and the student will use an exam attempt.

Course literature

The course literature is published in the course page in LearnIT.

Student Activity Budget
Estimated distribution of learning activities for the typical student
  • Preparation for lectures and exercises: 8%
  • Lectures: 5%
  • Exercises: 2%
  • Assignments: 10%
  • Project work, supervision included: 70%
  • Exam with preparation: 5%
Ordinary exam
Exam type:
D: Submission of written work with following oral, External (7-point scale)
Exam variation:
D2G: Submission for groups with following oral exam supplemented by the submission. Shared responsibility for the report.
Exam submission description:
Submission takes place on the course page in LearnIT on two different days. Please find dates etc. in LearnIT.

First submission - Program Code (2 files):
- Program as executable .jar file
- Source code as .zip file

Second submission - Report (2 files):
- Report as .pdf file
- A presentation of the features of the program as a video screen capture
Group submission:
Group and individual
  • Group size: 5 students.
Exam duration per student for the oral exam:
15 minutes
Group exam form:
Mixed exam 1 : Individual and joint student presentation followed by an individual and a group dialogue. The students make a joint presentation followed by a group dialogue. Subsequently the students are having individual examination with presentation and / or dialogue with the supervisor and external examiner while the rest of the group is outside the room.

Time and date