0% found this document useful (0 votes)
58 views8 pages

Algorithms and Data Structures: Study Manual v2021.2

This document provides information about the Algorithms and Data Structures course for the 2020-2021 academic year, including: - The course covers 8 ECTS over two blocks, introducing algorithms, data structures, and their analysis. - Students will learn to apply data structures and choose the appropriate one given requirements. - The program details the weekly topics and assignments over the two blocks. - Students can access course materials and collaborate online as well as during scheduled online and on-campus sessions. - Evaluation includes assignments, with improvements based on prior year's experience.

Uploaded by

Serkan Sezin
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
58 views8 pages

Algorithms and Data Structures: Study Manual v2021.2

This document provides information about the Algorithms and Data Structures course for the 2020-2021 academic year, including: - The course covers 8 ECTS over two blocks, introducing algorithms, data structures, and their analysis. - Students will learn to apply data structures and choose the appropriate one given requirements. - The program details the weekly topics and assignments over the two blocks. - Students can access course materials and collaborate online as well as during scheduled online and on-campus sessions. - Evaluation includes assignments, with improvements based on prior year's experience.

Uploaded by

Serkan Sezin
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

Algorithms and Data Structures

Study Manual
v2021.2

Study load : 8 ects (224 hours study load!)


Date of publication : 31-08-2020
Course year : 2020-2021
Specialization : Software Engineering
Year of study : Year 2 (term 1 and 2)
Content

1 Introduction ........................................................................................................................... 3
2 Learning goals....................................................................................................................... 3
3 Program.................................................................................................................................. 3
3.1 Content ........................................................................................................................... 3
3.2 Working method ............................................................................................................. 4
3.2.1 Full-time ...................................................................................................................... 4
3.2.2 Part-time ..................................................................................................................... 4
3.2.3 On-line collaboration .................................................................................................. 4
3.3 Material ........................................................................................................................... 4
3.4 Professional evaluation .................................................................................................. 5
3.5 Planning .......................................................................................................................... 6
3.6 Lecturers and contact information .................................................................................. 7
4 Review and assessment....................................................................................................... 7
4.1 Tests and test dates ....................................................................................................... 7
4.2 Assessment .................................................................................................................... 7
4.3 Theoretical test results, inspection and objection .......................................................... 8

Study Manual Algorithms and Data Structures 2019-2020


1 Introduction

Data structures builds on the knowledge gained during the first year programming lessons
(Programming, OOP1 and OOP2). During this course you will learn how different data
structures work internally and learn how to apply them, and most importantly when to apply
which data structure. The course consists of:

- Seminars where new theory will be introduced


- Practical labs where work on exercises and practical assignments (including writing a
report about the decisions you took)

2 Learning goals
After this course you will be:
• able to apply OOP principles
• able to choose the correct data structure given a number of requirements and use them
appropriately
• able to write recursive methods
• familiar with the classes and interfaces from the Java Collection Framework
• able to determine the efficiency of algorithms
• able to explain how some different sorting algorithms work
• able to use functional interfaces and lambda expressions

3 Program

3.1 Content
Below you will find the content per week for block 1.

Week Subject
1 Recap OOP (references, wrappers, generics, interfaces), Abstract Datatypes,
Iterator
2 Recursion
3 List, ArrayList, LinkedList, Linear Search, Binary Search
4 Big-O efficiency, simple sorts, Comparator
5 MergeSort, QuickSort
6 Stack, Queue, Priority Queue, Heap
7 Hashing, Sets, Maps

Below you will find the content per week for block 2.

Week Subject
1 Functional interfaces, Lambda expressions
2 Streams, Collectors, Method chaining
3 (Binary) Search Trees
4 Undirected Graph, Minimal Spanning Tree
5 Path Searching, Dijkstra Shortest Path
6 Graph Search Heuristics, A*-search
7 State Machine Algorithm

Study Manual Algorithms and Data Structures 2019-2020


3.2 Working method

3.2.1 Full-time
Per week there will be 3 sessions. Two of those sessions are on-line sessions taking 2 hours,
the third is on-campus session.

During the first on-line session the theory will be introduced.

During the second on-line session there will be a short recap of the theory, some demo’s and
you will work on small practical exercises which prepare you for the assignments and you will
present your solution to other students. For the assignments you will work in groups of 2.
These assignments will be graded.

During the on-campus session you can work on the assignments and get help from other
students or lecturers.

3.2.2 Part-time
There will be one session of 2 hours every week. Here new theory will be introduced and
practiced, and there will be opportunity to ask questions.

You will use self-study hours to work on the graded practical assignments in groups of 2.

3.2.3 On-line collaboration


Besides participating in the scheduled sessions, you have an opportunity to seek and offer help
via an MS-Teams channel ‘SE – Algorithms and Datastructures (2021)’ in the team ‘HBO-ICT
studenten’ in which all ADS teachers and students can engage on-line, any time. You find the
channel at
https://teams.microsoft.com/l/channel/19%3a099ba751abc94973864af46617e9f734%40thread.
skype/SE%2520-
%2520Algorithms%2520and%2520Datastructures%2520(2021)?groupId=95c314cd-bd2b-
4229-9a91-3a16aa5a4724&tenantId=0907bb1e-21fc-476f-8843-02d09ceb59a7

3.3 Material
In this course the following book will be used:
Robert Sedgewick and Kevin Wayne, Algorithms (4th Edition), March 2011, ISBN: 978-
0321573513. (The material can contain pointers to where you find the same subject in the book
by Liang)

You can find free access to a digital version of this book by registering with your HvA-e-mail for
O’Reilly|Safari at https://databanken.bibliotheek.hva.nl/ (then select ‘e-book’ under ‘type’).
Thereafter you can read the book at https://learning.oreilly.com. You can also enjoy the video’s
24-part lecture series by the same authors.

Any extra material will be provided at our DLO: https://dlo.mijnhva.nl.

During the practical assignment you will use Java. It is up to you which Java IDE you use. But
we recommend IntelliJ.

Study Manual Algorithms and Data Structures 2019-2020


3.4 Professional evaluation
Based on the experiences from last year the following improvements have been formulated.
• The integrated debugging features of IntelliJ will be presented.
• Some unit tests will be provided to get you on the right track with the assignments.

Study Manual Algorithms and Data Structures 2019-2020


3.5 Planning
See below for the planning of the theoretical and practical sessions. The deadlines for the
practical assignments are bold. The deadlines are in principle on the last day of the week at
23:59, see ISO 8601, unless your lecturer decides otherwise.
Block 1 Subject Chapter Second online
Week session/On campus
1 Recap OOP (references, wrappers, 1.1, 1.2 Work on
generics, interfaces), Abstract assignment
Datatypes, Iterator
2 Recursion - Work on
assignment 1
3 List, ArrayList, LinkedList, Linear 1.3 Work on
Search, Binary Search assignment 1
Submit
assignment 1
4 Big-O efficiency, simple sorts, 2.1, 1.4 Work on
Comparator assignment 2
5 MergeSort, QuickSort 2.2, 2.3 Work on
assignment 2
Submit
assignment 2
6 Stack, Queue, Priority Queue, Heap 1.3, 2.4 Work on
assignment 3
7 Autumn break
8 Hashing, Sets, Maps 3.1, 3.4 Work on
assignment 3
Submit
assignment 3
9 (Overflow if needed) - -
10 - - -
Block 2
Week
1 Functional interfaces, Lambda See DLO Work on
expression assignment 4
2 Streams, Collectors, Method chaining See DLO Work on
assignment 4
3 (Binary) Search Trees 3.2 Work on
assignment 4
Submit
assignment 4
4 Undirected Graph, Minimal Spanning 4.1, 4.2 Work on
Tree assignment 5
5 Path Searching, Dijkstra Shortest Path 4.4 Work on
assignment 5
6 Graph Search Heuristics, A*-search 4.4 Work on
assignment 5
Christmas break
7 State Machine Algorithm See DLO Submit
assignment 5
8 (Overflow if needed) - -
9 - - -
10 Theoretical test - -

Study Manual Algorithms and Data Structures 2019-2020


3.6 Lecturers and contact information
Module coordinators:
• Nico Tromp, [email protected] Full-time
• John Somers, [email protected] Part-time
Lecturers:
• IS201 - Ian Bradford, [email protected]
• IS202 - Okechukwu Onwunli, [email protected]
• IS203 - Lennard Fonteijn, [email protected]
• IS204 - Nico Tromp, [email protected]
• IS205 - John Somers, [email protected]
• IS206 - Mark Smith, [email protected] / Evert-Jan Couperus, [email protected]
• IS207 - (Nico Tromp, [email protected])

• ID2S1 (part-time) - John Somers, [email protected]
• ID2S2 (part-time) - Fatih Caglayan, [email protected] `

4 Review and assessment

4.1 Tests and test dates


The theoretical test covers all subjects. The test will be given in week 10 of block 2. The test
will consist of both multiple-choice questions and open-ended questions. The maximum grade
for a multiple-choice question is 1 point. The maximum grade for an open-ended question is 2
points. There will be 40 questions in total, 30 multiple-choice and 10 open-ended questions. In
order to pass the test, you are required to score at least 28 points (out of 50). If you don’t pass
the test, or you if want a better grade, you can take a re-sit during week 9 of block 3.

The final grade for the theoretical part will be <your score> / 5.

For more details regarding dates for the test and re-sit, see:
https://fdmci.mijnhva.nl/NL/Opleidingen/hbo-ict/Paginas/Roosters.aspx

4.2 Assessment
There are 5 assignments in total. Each assignment will be graded individually. In order to pass
the practical part the individual grade every assignments must be at least a 5.5. The final grade
is the average of the grades of all the assignments.

If you failed or want a better grade, during block 3 you can correct the failed assignments and
make some extra assignments.

The following rubric will be used when grading the practical assignments.

Study Manual Algorithms and Data Structures 2019-2020


4.3 Theoretical test results, inspection and objection
The grades will be published via Moodle after 10 working days after the test. If you have any
remarks or questions you have 15 working days after the test to get in contact with your
lecturer. 15 Working days after the test the grades will be entered into SIS, see OER article5.1,
section 2. If you and your lecturer can’t agree you can contact the module coordinator.

You can object to the grade by contacting your lecturer. This must be done within 25 working
days of publication of the grade. After this period, you will no longer be able to change the
grade and will be required to take the examination again (see OER, Article 5.13, section 3).

Study Manual Algorithms and Data Structures 2019-2020

You might also like