Programming 2

This course gives an introduction to computer architecture and program execution from gate level to high-level programming languages.
Image for course subject

Schedule:

Teaching time:

Daytime

Location:

Espoo

Topic:

Information and communications technology

Form of learning:

On-campus

Provider:

Aalto University, FITech

Level:

Intermediate

Credits:

5 By Aalto University (ECTS)

Fee:

Free of charge

Application period:

7.11.2022 – 19.2.2023

Target group and prerequisites

Please note that this course assumes previous experience with the Scala programming language. The course Ohjelmointi 1/Programming 1 is highly recommended before taking Programming 2.

Course description

This course gives an introduction to computer architecture and program execution from gate level to high-level programming languages.

Course contents

  • Computer architecture, binary data, and logic.
  • Programming abstractions and analysis of program performance.
  • Aspects of functional programming, e.g. recursive definitions and recursion.
  • Introduction to computer science and problem-solving with algorithms.

Learning outcomes

Upon successfully completing the course, the student

  • understands the essential functional structure of a programmable computer and its operation during program execution.
  • understands the physical limitations and possibilities of computers, including the main computational resources (time, space, parallelism, etc.) and how to put these into use.
  • can determine/measure the performance of a computer program in practice, in simple cases by inspecting only the structure of the program.
  • understands what is meant by an abstract interface and its implementation, including the possibility of alternative implementations with different performance characteristics.
  • understands the concept of recursion and can write programs that employ recursion and operate on recursive data structures.
  • knows the basics of algorithm design and analysis, including selected designs for fundamental combinatorial tasks (searching, sorting, etc.).

Teaching methods

Lectures on campus:

  • Mon 27.2.–3.4.2023 at 10.15–12.00
  • Mon 24.4.2023 at 10.15–12.00
  • Tue 2.5.2023 at 8.15–10.00
  • Mon 8.–22.5.2023 at 10.15–12.00
  • Mon 29.5.2023 at 10.15–12.00

It is also possible to join the exercise groups on campus.

Programming exercises, reading and video material.

Completion methods

Weekly programming exercises.

  • Updated:
Share
URL copied!

You might be interested in these

Fundamental courses

Image for course subject

Machine learning transforms our lives

Information and communications technology

Location:
Online
Level:
Beginner
Image for course subject

Informaatioteknologian perusteet

Information and communications technology

Location:
Espoo
Level:
Beginner
Image for course subject

Cybersecurity

Information and communications technology

Location:
Online
Level:
Beginner
Image for course subject

Introduction to web development and programming

Information and communications technology

Location:
Online
Level:
Beginner
Image for course subject

Introduction to digital transformation

Information and communications technology

Location:
Online
Level:
Beginner
Image for course subject

Digital ethics and sustainability

Information and communications technology

Location:
Online
Level:
Beginner

Intermediate courses

Image for course subject

Modern and emerging programming languages: Rust

Information and communications technology

Location:
Online
Level:
Intermediate
Image for course subject

Digital Platform Economy

Information and communications technology

Location:
Online
Level:
Intermediate
Image for course subject

Deep learning with Python

Information and communications technology

Location:
Online
Level:
Intermediate
Image for course subject

Tietokannat

Information and communications technology

Location:
Espoo
Level:
Intermediate
Image for course subject

Tietokoneverkot

Information and communications technology

Location:
Espoo
Online
Level:
Intermediate
Image for course subject

Tietoliikenteen siirtomenetelmät

Information and communications technology

Location:
Espoo
Level:
Intermediate

Advanced courses

Image for course subject

Federated learning

Information and communications technology

Location:
Online
Level:
Advanced
Image for course subject

Speech Recognition

Information and communications technology

Location:
Espoo
Level:
Advanced
Image for course subject

Value network design for internet services

Information and communications technology

Location:
Espoo
Level:
Advanced
Image for course subject

SDN fundamentals & techniques

Information and communications technology

Location:
Espoo
Level:
Advanced
Image for course subject

Performance analysis

Information and communications technology

Location:
Espoo
Level:
Advanced
Image for course subject

Machine type communications for internet of things

Information and communications technology

Location:
Espoo
Level:
Advanced