Introduction to Programming

Course NFPITP001

Course Requirements

Students should have had experience using a modern computer and software; no other knowledge is required. Students will need access to any computer system that can run a text editor and a web browser. All software used is freely available online.

(Total course length: appr. 6hrs (4 X 90min) + online installments)


OVERVIEW

This introductory programming course covers all fundamental aspects of computer programming and aims to provide a solid grounding for future learning. Beginning with a brief history of computing and the need for programming, the course delivers examples of various programming paradigms and shows the design and implementation of various useful software.

WHAT?

From having no previous knowledge of software development, this course will give participants a great starting point to choose more complex development paths. The focus is on practical examples and participation, using modern tools and programming environments.

WHO?

The presentation portion of the course will be conducted by Nick Fletcher, a freelance web developer and programmer with 10 years+ experience. The course is mostly interactive and real-world examples are used to help students gain a broad understanding of the topic. The finer details of the topic will be learnt during the following weeks of the presentation where the students will receive weekly online presentations on how to continue the work started in the class. Nick will also be available via email to help with any aspects needing clarification.

HOW?

The presentation portion of the course will be conducted by Nick Fletcher, a freelance web developer and programmer with 10 years+ experience. The course is mostly interactive and real-world examples are used to help students gain a broad understanding of the topic. The finer details of the topic will be learnt during the following weeks of the presentation where the students will receive weekly online presentations on how to continue the work started in the class. Nick will also be available via email to help with any aspects needing clarification.


Following is a more detailed outline of the in person presentation class

SECTION 1 (120min)

History of the Computing
  • A look at the earliest days of electronic computers and the reasons for their development.
Eras
  • From their beginnings to what we have now, we’ll see some of the main stages software development has passed through.
Machine Languages
  • We’ll explore various machine languages, before and after the advent of programming languages.
Introduction to C and Javascript
  • The computer languages C and Javascript will be used in the course. This introduction to them will give you your first look at what computer programs can do.

SECTION 2 (120min)

Mechanics of Programs
  • We’ll take a deeper look at what happens when a program executes on a computer system.
  • Learn about the difference between compiled and interpreted programs.
  • Explore memory, pointers and variable types.
  • Take a practical look at control structures and looping.
  • Deal with user input and error handling.
  • An introduction to debugging and design paradigms.

SECTION 3 (120min)

Building Software
  • We’ll design and begin building a useful program.
  • We’ll see how browser and the compiler can be your biggest allies when things don’t seem to be working correctly.
  • We’ll look at some great online resources to help you find the information you need.
  • We’ll decide on a final project and begin work on it. From there, the project will be completed in stages via online presentations and correspondence.

Download Course Outlines

  • Web Design and Development - (download PDF)
  • Indroduction to Programming - (download PDF)
  • Indroduction to Game Programming - (download PDF)