syllabus

Syllabus for the Programming I course

View on GitHub

Programming I Syllabus

Instructors

Jaroslavs Samčuks (Software Engineer)

Pāvels Zaičenkovs (PhD, Software Engineer)

Need to reach out?

Use a chat in MS Teams.

Reach out to the assigned instructor privately using email or Telegram (see the details above).

You have a feedback that you’d like to share

You may provide an anonymous feedback with the instructors on any matter using this form.

Description

Learn and explore the fascinating world of computer programming. The goal of the course is to help students develop programming, mathematical and problem-solving skills. The course may also inspire some students to choose programming as their future career.

By the end of the course, a student is expected

  1. to analyze simple daily work processes
  2. to see automation possibilities in the process or their parts
  3. to describe the problem and its desired solution using specification of the software requirements
  4. to implement solutions to simple problems.

Overview

The course covers the following topics and more:

During the course we will use the Go programming language as a tool to teach programming concepts.

Prerequisites

Course materials are hosted from GitHub. Students have to create (or use an existing one) a GitHub account and share the account name with the course instructors.

Furthermore, the following software is required for participating in the course:

Furthermore, students exercise their file and directory manipulation skills using file://maniac game.

Outline (Semester #1)

Date Topic
Thursday, September 2 Introduction to programming
Monday, September 6 File and directory manipulation (Command Line Cheat Sheet)
Thursday, September 9 Introduction to version control (Git) (Git Cheat Sheet) (assignment
Monday, September 13 Introduction to version control (Git & GitHub) (Git Cheat Sheet)
Thursday, September 16 Introduction to IDE (VS Code)
Monday, September 20 Variables; basic arithmetic operations (assignment)
Thursday, September 23 Program structure. Github assignments.
Monday, September 27 If conditions (assignment)
Thursday, September 30 If conditions
Monday, October 4 For loops without range (assignment)
Thursday, October 7 For loops without range
Monday, October 11 Mid-term test 1
Thursday, October 14 For loops without range
Monday, October 18 🧘
Thursday, October 21 🧘
Monday, October 25 🧘
Thursday, October 28 🧘
Monday, November 1 Functions and table-based testing
Monday, November 4 Arrays and slices
Monday, November 8 Arrays and slices
Thursday, November 11 Arrays and slices
Monday, November 15 Arrays and slices
Thursday, November 18 🇱🇻
Monday, November 22 Arrays and slices
Thursday, November 25 Mid-term test-2
Monday, November 29 Strings
Thursday, December 2 Strings
Monday, December 6 Strings
Thursday, December 9 Strings
Monday, December 13 Practice
Thursday, December 16 Practice
Monday, December 20 Final exam

Assignments

Projects

Lightning Talks

During the course students are required to deliver 5 minute lighting talks (in a presentation format) during a lesson on a topic selected by a student. The students should sign up for the presentation using a table in this page.

Grading

Student’s final grade is calculated as a weighted total itemized as follows:

Resources