Laajuus: 5

Aikataulu: 10.01.2020 - 12.05.2020

Kurssin yhteystiedot (koskee tätä kurssikertaa): 

The course personnel can be reached by email at

We will use Slack as the main communication channel during the course. If you have email address, you can join Slack here. If you do not have aalto email, send email to above address, and we will add you to the channel.

We will also use MyCourses for course announcements.

The official course language is English, but most course personnel can speak Finnish, and some speak Swedish. Course material is available in English and Finnish.

Opetusperiodi (voimassa 01.08.2018-31.07.2020): 

III - V 2018 - 2019 (spring), III - V 2019 - 2020 (spring)

Osaamistavoitteet (voimassa 01.08.2018-31.07.2020): 

The student knows the basics of C programming language and can independently write short programs using the C language.

Sisältö (voimassa 01.08.2018-31.07.2020): 

Basic concepts of systems-level programming. Basics of the C programming language. Dynamic memory management and its application in common data structures. Basic use of programming and debugging tools for C. Small programming exercises in C.

Tarkennukset kurssin sisältöön (koskee tätä kurssikertaa): 

Course is divided into 10 modules that will take place in periods III and IV. There will be weekly deadlines. In addition, there will be a small programming project and programming test (i.e., a modern version of exam) in the end of the course. The exam will be done using computer that has programming tools available.

Toteutus, työmuodot ja arvosteluperusteet (voimassa 01.08.2018-31.07.2020): 

Exercises and examination.

Tarkennetut arviointiperusteet ja -menetelmät ja tutustuminen arviointiin (koskee tätä kurssikertaa): 

The course grade will be a weighed average from the following:

  • Exercises (40%): max. 1000 points out of the ten modules (max. 100 points each), min. 500 points, at least seven modules must have 50 points or more
  • Programming project (30%): Graded on a scale from 0 to 10. At least 5 points required.
  • Programming test (30%): max: 20 points, at least 10 points needed for accepted result. (Note: fixed incorrect point limits on 23.5.)

All three of the above components need to be passed at acceptable level. When computing the grade, a normalised sub grade between 0 and 5.5 will be calculated from each of the above three categories. The final grade will be weighed average of the three sub grades, rounded to nearest integer. The exact equation for calculating the grade is

((PointsE - 500) / 500 * 5 + 0,5) * 0,4 + ((PointsP - 5) / 5 * 5 + 0.5) * 0,3 + ((PointsT - 10) / 10 * 5 + 0,5) * 0,3

where PointsE is exercise score, PointsP is the project score and PointsT is the result from programming test. The final grade is the above result rounded to nearest integer. (Note: formula was incorrect, and fixed on 23.5.)

Työmäärä toteutustavoittain (voimassa 01.08.2018-31.07.2020): 

19 h contact hours
115 h individual study

Tarkennettu kuormittavuuslaskelma (koskee tätä kurssikertaa): 

There will be two 2-hour lectures.

Each exercise round is estimated to require about 10 hours of work, based on online material and exercises.

Programming project is estimated to require about 10 - 15 hours of work.

Programming test takes 3 hours + preparation. If you have done exercises actively, not much additional preparation is needed.

Arvosteluasteikko (voimassa 01.08.2018-31.07.2020): 


Ilmoittautuminen (voimassa 01.08.2018-31.07.2020): 


Lisätietoja (voimassa 01.08.2018-31.07.2020): 

Language class 4: English, may be completed in Finnish or Swedish upon request

Kurssin aikataulu (koskee tätä kurssikertaa): 

Modules and deadlines

  1. Basics, deadline 17.1.2020
  2. Input and Output, deadline 24.1.2020
  3. Pointers and Arrays, deadline 31.1.2020
  4. Strings, deadline 7.2.2020
  5. Dynamic memory, 14.2.2020
  6. Structured data types, 28.2.2020
  7. Multidimensional arrays, 6.3.2020
  8. Binary operations, 13.3.2020
  9. I/O streams, 20.3.2020
  10. Advanced features, 27.3.2020

There will be no activity during exam weeks (after modules 5 and 10). Deadlines are on Fridays at 17:59

Deadline for programming project: 17.4.2020

Programming tests are planned at the end of April (tentative, to be confirmed later)

Opintojakson kuvaus

Ilmoittautuminen ja lisätiedot