Theory of Programming Languages

This is a core course in the Computer Science Core Courses


The logic and structure behind programming holds true through the decades. Punch cards from the 1960s utilize the same paradigms programmers use today.

Welcome to the course! Understanding the underlying logic behind programming languages is vital for comprehending Computer Science concepts - ranging from programming to systems design. This course is designed to acquaint you with the subject matter and give you a groundwork for further study.

Due to the open nature of Wikiversity you are free to browse through these courses at whatever pace you desire. However, before you begin this course you should consider reviewing the material covered in the perquisite courses (listed below) to ensure that you are prepared to learn this content.

In each lesson there is an objective at the top of the page, review these points and keep them in mind as you go through the lesson. At the end there is an assignment to test your understanding and further explain the material. Once you have finished the entire course you may move on to the next course in the computer science category.

(Note: Many of these lessons are stubs, and they need a lot of help. Please excuse the mess - and help out if you can!).


Prerequisites are courses it is suggested you understand before you attempt this course. If you're having a hard time understanding the material in this course, make sure you understand these prerequisites first.


Sciences humaines.svg Educational level: this is a tertiary (university) resource.
Tulliana launch.png Completion status: this resource is just getting off the ground. Please feel welcome to help!
Nuvola apps edu mathematics-p.svg Subject classification: this is a mathematics resource.
  1. Introduction to Theory of Programming Languages50%
  2. General Syntactic Structure50%
  3. Imperative Programming25%
  4. Static Programs00%
  5. Flow Control in Programming00%
  6. Object Oriented Programming00%
  7. Functional Programming00%
  8. Logic Programming50%
  9. Conclusion00%


Next CourseEdit

Introduction to Theory of Computation

Active ParticipantsEdit

Despite the best efforts of the authors, the material in this course is imperfect. If you have a question or otherwise need help with this course, please post on the Help Page.

You may also contact those involved with developing this course below. When new active participants sign in please use 4 tildes (~) to correctly display the username.

We also encourage you to join as an instructor. If you can't teach the course anymore, please remove your name from the list of active participants.

Related Wikiversity resourcesEdit


Programming Languages, concepts and constructs by Ravi Sethi 1996