Kaisa_2012_3_photo by Veikko Somerpuro

Enrol

Timetable

Here is the course’s teaching schedule. Check the description for possible other schedules.

DateTimeLocation
Tue 29.10.2019
12:15 - 14:00
Thu 31.10.2019
10:15 - 12:00
Tue 5.11.2019
12:15 - 14:00
Thu 7.11.2019
10:15 - 12:00
Tue 12.11.2019
12:15 - 14:00
Thu 14.11.2019
10:15 - 12:00
Tue 19.11.2019
12:15 - 14:00
Thu 21.11.2019
10:15 - 12:00
Tue 26.11.2019
12:15 - 14:00
Thu 28.11.2019
10:15 - 12:00
Tue 3.12.2019
12:15 - 14:00
Thu 5.12.2019
10:15 - 12:00
Tue 10.12.2019
12:15 - 14:00
Thu 12.12.2019
10:15 - 12:00

Other teaching

Description

Bachelor's programme in Science

Basic studies in Computer and Data Science

-Compulsory for the whole programme

-BSCS1000 for the students in Computer and Data Science study track, BS1000 for the others

-The course is available to students from other degree programmes

Introduction to Programming (BSCS1001)

remembers
understands
analyses
evaluates
recognises
  • Identifies essential structures for procedural programming and object-oriented programming such as variables, conditional sentences, repetition sentences, lists, hash tables, methods, classes, and objects
  • Recognizes typical programming problems and remembers problem-solving strategies related to solving them (eg reading a feed, limiting read feeds, making summaries of read feeds, organizing, searching, ...
  • Understand the difference between a man-made source code and a executable program
  • Understand how a computer runs a computer program.Can tell (at a high level) what happens with a method call
  • Understand the cost of maintaining a computer program and can justify reasons for writing a readable and understandable source code (good programming policies)
  • Understand the differences between elementary and referral types
  • Understand the basic concepts of object-oriented programming and the similarities and differences between classes and objects
  • Understand the principles of action-driven programs
  • Can simulate execution
    with paper and pencil
  • Can describe the internal status of the program (on a variable basis) at different stages of program execution
  • Can find errors in source code when the computer program does not work
  • Identifies good and bad programming practices in source code
  • Can compare two computer programs that perform the same task and evaluate their pros and cons
applies
  • Remembers typical programming problems and applies course solutions to solve programming problems
  • Can write programs based on the instructions given
  • Can create programs offering graphical user interfaces
  • Can test programs manually
  • Can create automatic tests
  • Can use the debugger functionality provided by the programming environment to identify errors
  • Identifies possible points that lead to an error situation from the given source code
creates
  • Can apply a new programming technique or a previously unknown software library to solve a problem
  • Can design and implement a solution to a given problem
  • Can create many solutions to one problem and analyze the performance and maintainability of created solutions
  • Can test the performance of a given program and can write error reports that allow others to repeat the error detected in the program
  • Can describe the good and bad aspects of the solution created for the problem
  • Can create more solutions to the same problem
  • Can provide feedback on programs written by others
  • Can refract a given computer program

Period 2 of first autumn

remembers
understands
analyses
evaluates
recognises
  • Identifies essential structures for procedural programming and object-oriented programming such as variables, conditional sentences, repetition sentences, lists, hash tables, methods, classes, and objects
  • Recognizes typical programming problems and remembers problem-solving strategies related to solving them (eg reading a feed, limiting read feeds, making summaries of read feeds, organizing, searching, ...
  • Understand the difference between a man-made source code and a executable program
  • Understand how a computer runs a computer program.Can tell (at a high level) what happens with a method call
  • Understand the cost of maintaining a computer program and can justify reasons for writing a readable and understandable source code (good programming policies)
  • Understand the differences between elementary and referral types
  • Understand the basic concepts of object-oriented programming and the similarities and differences between classes and objects
  • Understand the principles of action-driven programs
  • Can simulate execution
    with paper and pencil
  • Can describe the internal status of the program (on a variable basis) at different stages of program execution
  • Can find errors in source code when the computer program does not work
  • Identifies good and bad programming practices in source code
  • Can compare two computer programs that perform the same task and evaluate their pros and cons
applies
  • Remembers typical programming problems and applies course solutions to solve programming problems
  • Can write programs based on the instructions given
  • Can create programs offering graphical user interfaces
  • Can test programs manually
  • Can create automatic tests
  • Can use the debugger functionality provided by the programming environment to identify errors
  • Identifies possible points that lead to an error situation from the given source code
creates
  • Can apply a new programming technique or a previously unknown software library to solve a problem
  • Can design and implement a solution to a given problem
  • Can create many solutions to one problem and analyze the performance and maintainability of created solutions
  • Can test the performance of a given program and can write error reports that allow others to repeat the error detected in the program
  • Can describe the good and bad aspects of the solution created for the problem
  • Can create more solutions to the same problem
  • Can provide feedback on programs written by others
  • Can refract a given computer program

TBD

The material is online

The focus is in hands-on programming, supported by 2 hours weekly lectures

TBA

Period 2