Principles of Computing
Open Learning InitiativeFree
Important information
 Course
 Online
 When:
Flexible
This course covers elementary principles of computing, including iteration, recursion, and binary representation of data. Additional topics on cellular automata, encryption, and the limits of computation are also introduced. The goal of this course is to introduce some of the techniques used in computer science to solve complex problems, with or without a computer. This course does not include a programming component, although the principles that are taught can be used in a programming context.
Starts  Location 

Flexible 
Online

What you'll learn on the course
Programming  Computer Science  Computability  Principles of computing  
Recursive Thinking  Representation of Data  Iterative Processes  Data and Instructions in Binary  
Cellular Automata  Encryption Methods 
Course programme
The main goal of this course is to teach the fundamental principles used in computer science to a general audience so that they understand how computer scientists use these principles to solve complex problems to improve their daily lives. This OLI course does not include programming although it can be used to supplement an introductory course in programming. In that situation, this course will show students that there is much more to computer science than learning to write code.
The first three topics are traditionally some of the harder topics to comprehend for students who tend to shy away from technical courses, especially in computing.
The last three topics were chosen because they illustrate some deeper discoveries in computing that will show how computational thinking affects our lives. For example, principles in cellular automata can be used to create simple simulations that illustrate complex behavior (e.g. forest fire simulations). Encryption methods showcase how number theory is used to create an encryption method that is very hard to crack, so it can be used to support commerce today on the Internet.
The Limits of Computability module illustrates to students that not every problem is computable by computers…some require far more time than our lifespans, and some just can’t be solved regardless of the power of the computer, the amount of memory it has, or the amount of time we give the computer to solve the problem.