Theory of Programming Languages

This is a core course in the Computer Science Core Courses

## Introduction

[edit | edit source]

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

[edit | edit source]

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.

* Introduction to Computer Science
* Introductory Discrete Mathematics for Computer Science

## Lessons

[edit | edit source]

|  | Educational level: this is a tertiary (university) resource.

|

| Completion status: this resource is just getting off the ground. Please feel welcome to help!

|

| Subject classification: this is a mathematics resource.

|

| Subject classification: this is an information technology resource.

|

1. Introduction to Theory of Programming Languages
2. General Syntactic Structure
3. Imperative Programming
4. Static Programs
5. Flow Control in Programming
6. Object Oriented Programming
7. Functional Programming
8. Logic Programming
9. Conclusion

## Textbooks

[edit | edit source]

* Programming Languages Via Wikibooks.

## Next Course

[edit | edit source]

Introduction to Theory of Computation

## Active Participants

[edit | edit source]

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.

* Azotochtli (talk) 20:44, 28 July 2012 (UTC)

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 resources

[edit | edit source]

* Discrete Mathematics for Computer Science
* Introduction to Computer Science
* Introduction to Information Technology – needs work. Will you help out?

## Bibliography

[edit | edit source]

Programming Languages, concepts and constructs by Ravi Sethi 1996