CS-A1110: Programming 1
| Course name | Programming 1 / Ohjelmointi 1 |
|---|---|
| Course code | CS-A1110 |
| Abbreviation | O1 |
| Period | I-II |
| Lecturer | No lectures |
Description
Programming 1 (O1) is an introductory programming course for students in the School of Science and related programmes. The course covers the fundamentals of imperative programming and object-oriented programming using Scala. It serves as the prerequisite for CS-A1120 Programming 2.
Course material
Official material
The course uses the A+ online learning platform, which contains all reading material, programming exercises, and automatic assessment. No separate textbook is required.
Extra material
- Official Scala documentation
- Scala Tour
- IntelliJ IDEA documentation
Contents and workload
Overall workload
The course is worth 5 ECTS (approximately 135 hours), corresponding to roughly 7–9 hours of work per week. The workload is steady throughout the course, and keeping up with the weekly schedule is strongly recommended.
Weekly contents
| Week | Topics |
|---|---|
| 1 | Course introduction, IntelliJ, Scala basics |
| 2 | Variables, data types, expressions, input/output |
| 3 | Functions, parameters, scope |
| 4 | Conditionals and pattern matching |
| 5 | Loops, iteration, collections |
| 6 | Objects, classes, constructors |
| 7 | Object-oriented design, encapsulation |
| 8 | Inheritance and polymorphism |
| 9 | Traits and abstraction |
| 10 | Collections, higher-order functions |
| 11 | Error handling, Option, exceptions |
| 12 | Larger programs, file input/output |
| 13–14 | Revision and final programming project |
Practicalities
Assessment is based entirely on weekly programming exercises submitted through the A+ platform. Exercises are graded automatically and provide immediate feedback. There is no written exam. Exercise sessions are available for in-person help, and the final grade is determined by the total points accumulated from weekly submissions.
Related courses
Official prerequisites
None. No prior programming knowledge is assumed.
Additional prerequisites
Basic computer skills and a personal laptop (Windows, macOS, or Linux).
More like this
- CS-A1120: Programming 2
- CS-A1113: Basics in Programming Y1
- MS-A0011: Matrix Algebra
- MS-A0111: Differential and Integral Calculus 1
Trivia
TNO.