Skip to main content

CS109BKK

Basics of Algorithms

Bangkok Campus
Feb 20, 2023 - Mar 10, 2023
By the end of this course, students will have a foundation on algorithms and data structures, allowing them to take on more advanced courses from the Computer Science programme.
Bangkok Campus
Feb 20, 2023 - Mar 10, 2023
Norge Vizcay

Faculty

Norge Vizcay

Software Engineer at Google

Course length

3 weeks

Duration

3 hours
per day

Total hours

45 hours

Credits

4 ECTS

Language

English

Course type

Offline

Fee for single course

€1500

Fee for degree students

€750

Skills you’ll learn

Basics of AlgorithmsDynamic ProgrammingSorting AlgorithmsData StructuresBig-O NotationGraph Algorithms
OverviewCourse outlineCourse materialsPrerequisitesMethod & grading

Overview

Programming is more than just translating well-understood instructions to a language that a computer can understand.In most cases we need to devise totally new methods for solving a problem. This course introduces you to some algorithms and data structures used to solve problems.

Learning highlights

  • The class covers basic algorithmic techniques and ideas for computational problems arising frequently in practical applications.
  • You will learn how to sort and search data.
  • How to break a large problem into pieces and solve them recursively.
  • How to pack your knapsack using greedy algorithms.
  • How to search for similarities between genes using dynamic programming.
  • You will practice solving computational problems, designing new algorithms, and implementing them as efficient software tools.

Course outline

15 classes

Dive into the details of the course and get a sense of what each class will cover.
Monday
Tuesday
Wednesday
Thursday
Friday
Monday
1

Mathematical Background

Growth of Functions. Mathematical Induction

Tuesday
2

Analysis of Algorithms

The Big-O Notation. Time and Space Complexity. Simple Sorting Algorithms

Wednesday
3

Elementary Data Structures

- Arrays. Linked Lists. Stacks. Queues. Simple Trees

Thursday
4

Sorting and Searching

Sorting Methods. Binary Search. Finding Majority

Friday
5

Exam 1

Monday
6

Heaps, Binary Search Trees

Tuesday
7

Graph Algorithms 1

Graph Representation. Breadth-First Search. Depth-First Search. Topological Sorting

Wednesday
8

Graph Algorithms 2

Connected Components. Bridges. Articulation Points

Thursday
9

Single-Source Shortest Path

Dijkstra. Bellman-Ford

Friday
10

Exam 2

Monday
11

Greedy Algorithms, Disjoint-Set Unions

Minimum-Cost Spanning Tree: Kruskal, Prim

Tuesday
12

Dynamic Programming 1

Sequence alignment. Fibonacci. Tower of Hanoi. Longest Common Subsequence. Coin Change Problem

Wednesday
13

Dynamic Programming 2

Longest Increasing Subsequence. All-Pairs Shortest Path: Floyd-Warshall. Egg Dropping Puzzle. Knapsack

Thursday
14

Backtracking, Branch-and-Bound

N-Queens. Travelling Salesman Problem. 0/1 Knapsack

Friday
15

Final Exam

Prerequisites

Knowledge of at least one programming language.

Methodology

Lectures and individual exercises.

Grading

The final grade will be composed of the following criteria:
40% - 6 assignments.
60% - 2 mid-term exams (session 5 and session 10) and one final exam (session 15).
Norge Vizcay

Faculty

Norge Vizcay

Software Engineer at Google

Norge was born in 1992 in Cuba. He started his Computer Science Bachelor in University of Havana in 2011 graduating with honors in 2016.

While studying in Havana he started training for programming competitions being able to participate in the 2016 ACM-ICPC World Finals in Phuket, Thailand.

See full profile

Apply for this course

Snap up your chance to enroll before all spaces fill up.

Basics of Algorithms

by Norge Vizcay

Total hours

45 Hours

Dates

Feb 20 - Mar 10, 2023

Fee for single course

€1500

Fee for degree students

€750

How to secure your spot

Complete the form below to kickstart your application

Schedule your Harbour.Space interview

If successful, get ready to join us on campus

FAQ

Will I receive a certificate after completion?

Yes. Upon completion of the course, you will receive a certificate signed by the director of the program your course belonged to.

Do I need a visa?

This depends on your case. Please check with the Spanish or Thai consulate in your country of residence about visa requirements. We will do our part to provide you with the necessary documents, such as the Certificate of Enrollment.

Can I get a discount?

Yes. The easiest way to enroll in a course at a discounted price is to register for multiple courses. Registering for multiple courses will reduce the cost per individual course. Please ask the Admissions Office for more information about the other kinds of discounts we offer and what you can do to receive one.