Skip to content

Programming in C#


Lead by Andres Käver andres.kaver 😎

Assistant Teachers (& uni-id):

  • Kerman Saapar kesaap
  • Mikk Raba mikk.raba


  • 20p theoretical quiz – on paper (multiple choice questions), no outside help (or in moodle).
  • 30p practical exam - everything is allowed
  • 50p home project – no teams
  • 0-50: FAIL, >50: 1, >60: 2, >70: 3, >80: 4, >90: 5
  • Every grade part has >50% requirement

Notes about grading

  • Home assignment grade can’t be higher than practical examination
  • How could you do your homework at max, and then fail practical exam?

Home project

  • 50 points
  • No official teams - project presentation is individual
  • Final project defence – 25 points
  • X milestones, every milestone gives 25/X points
  • X – is anywhere from 1 - 20
  • Every milestone has deadline, every day over deadline removes 10% of this deadlines points
  • you can plagiarize everything, referencing the source of code is not mandatory


Projects (all grading is based on git history and content) (Uni-ID)

Git repo has to be named
developers: icd0008-23f
cyber security: ics0010-23f

Create in root directory with your full name, student code, school email and uni-id.

Please add teacher and all TA's as developers into git repo.

Course demos

Course in Moodle - not yet
Student key for 2023 fall: ---

Do not forget to add .gitignore to your repository. You can use these:
C# .gitignore
Add this also in addition if you use JetBrains Rider


  • Basic program structure
  • Type system
  • OOP
  • Working with data
  • LINQ
  • Nullables
  • Web/Razor
  • Programming patterns
  • Delegates, Events, Exceptions
  • Multithreading
  • Reflection
  • WPF, UWP

Do not leave all the work for the last week!