Learning Computer Programming for Absolute Beginners

Learning Computer Programming for Absolute Beginners

Develop a strong programming foundation while implementing simple games for the console with C# and MonoDevelop

This is a programming course for the absolute beginner.

We'll start from the ground up.

In the first section - Prepping - I'll take you through setting up and working with the development environment - MonoDevelop.

Then, we'll continue with the programming fundamentals - Programming 101 and 102.

At the end of these two sections, we'll be able to develop our first game, the Rock-Paper-Scissors.

In the last two sections - Object-Oriented Programming 101 and 102 - we'll enter the world of Object-Oriented Programming (OOP).

We'll see how to structure and implement a program, using the OOP principals, while working in a new game called Console Dungeons.

Throughout the course, you'll have multiple quizzes and practical exercises to test and evaluate your progress.


This is just a stepping one.

Just a side note.

I'm sure that developing console games is not your goal. But, this course is all about building a strong programming foundation.

Developing simple games for the console, allow us to focus on the core knowledge at the beginning, allowing a smoother transition to more complex projects on a proper game engine.

This course was designed as an introductory programming course for the Unity 3d engine.

But, even if you don't intend to proceed into Unity, this course will enable you to have fun, implementing your own console games.

However, please note that we won't address anything specific to the Unity 3d engine.




  • Introduction FREE PREVIEW
  • Setting Up MonoDevelop FREE PREVIEW
  • Working with MonoDevelop FREE PREVIEW
  • How to Follow the Lectures FREE PREVIEW
  • Help and Feedback

Programming 101


  • Execution Flow
  • Statements, Keywords and Comments
  • Variables
  • Data Types
  • Naming Variables
  • Arrays
  • Strings
  • Operators

Programming 101 Exercises

  • Do you even compile?
  • Log this for me!
  • Email Printer - Practical Exercise

Programming 102


  • Control Flow Statements
  • Selection Statements I
  • Selection Statements II
  • Iteration Statements
  • Jump Statements

Programming 102 Exercises

  • Log this for me!
  • Are you a coder?
  • Counting Stars - Practical Exercise

Game Programming


  • Rock, Paper, Scissors - Mechanics
  • How to use the Game Utilities
  • Rock, Paper, Scissors - Implementation

Game Programming Exercises

  • Odds and Evens

Object-Oriented Programming 101


  • OOP, Classes and Objects
  • Fields and Access Modifiers
  • Methods
  • Encapsulation and Properties
  • Constructors
  • Reference vs. Value Types
  • Scope, Declaration Space and Namespaces
  • Rock, Paper, Scissors - OOP Implementation

Object-Oriented Programming 102


  • Console Dungeons - Mechanics
  • Inheritance and Polymorphism I
  • Inheritance and Polymorphism II
  • Abstract Classes and Members
  • Static Classes and Members
  • Composition
  • Interfaces
  • Console Dungeons - Implementation

Object-Oriented Programming Exercises

  • Odds and Evens
  • Tic-Tac-Toe





High Tolerance to Frustration

Are you up for the challenge?

I'll see you in the first lesson!

Sign up

About Your Instructor

Tomaz Saraiva

Tomaz Saraiva

Once an aspiring psychologist, now a full-time coder

From psychology to programming, these last ten years have been quite a ride.

I studied Psychology at the Lusófona University in Lisbon, Portugal. During my bachelor degree, I was part of a research team of the Psychology Department. This team focused on developing virtual environments to treat anxiety disorders.

My geeky passion for computers and video games became a big advantage at the time. I was quickly immersed in learning 3d modelling, texturing and programming.

Although the psychology was starting to fade away, I finished my MSc in Clinical Psychology. Only to proceed to the University of Salford to complete an MSc in Creative Games.

After coming back to Lisbon, I went back to the University to lecture statistics in the Psychology Department. But, I never stopped deepening my knowledge about virtual reality and game development.

Soon, I got my first job as a Unity Developer. And it was the starting point of my career as a Developer.

Check HERE for all my works!