User:Pedro.Gonnet/Programming in Zonnon

Overview
Although the title may suggest otherwise, this course is about programming in general. The name "Programming in Zonnon" stems from the fact that for this course, the Zonnon programming language will be used.

The requirements for this course are very basic:


 * Basic highschool-level mathematics
 * A Microsoft Windows, Mac OS or Linux based computer with the Microsoft .NET-Framework or Mono installed
 * No supposed or real knowledge of computers, computing, programming or anything of the like.

As the requirements imply, this course is designed as an entry-level affair for people with absolutely no experience in computing.

Goals
In very general terms, after taking this course, students should be able to write computer programs to solve simple problems in an efficient way.

In more specific terms this means that they understand and know how to use the following
 * Basic Programming Language Skills: the students understand and know how to use the following:
 * Concept of variables
 * Basic data types, structured data types and arrays
 * Concept of expressions, statements and syntax
 * Basic control structures such as loops, if-then-else statements
 * Concept of procedures
 * Concept of parameters, call by value vs. call by reference
 * Concept of functions and their return type
 * Basic Programming Skills: the students understand and know how to use the following:
 * Concept of recursion
 * Concept of dynamic programming
 * Concept of pointers
 * Basic data structures such as linked lists and binary trees

How To Take This Course
The lessons of this course are presented in the order in which they are meant to be studied. Each lesson contains a set of specific goals and some exercises at the end to verify that those goals have been met.

Lessons

 * What is a program?
 * Syntax and Semantics
 * Variables
 * Procedures and Functions
 * Basic control structures
 * Arrays
 * Structured data types
 * Pointers
 * Recursion
 * Dynamic programming
 * Objects