The topic of programming languages is an important and rapidly changing area of computer science. This course introduces students to the basic concepts and terminology used to describe programming languages. Instead of studying particular programming languages, the course focuses on the linguistics of programming languages, that is, on the common, unifying themes that are relevant to programming languages in general. The algorithmic, or procedural, programming languages are particularly emphasized. Examples are drawn from early and contemporary programming languages, including Fortran, Algol 60, PL/I, Algol 68, Pascal, C, C++, Eiffel, Ada, and Java.
This course is not designed to meet the needs of the student who wishes to learn to program in a particular programming language. However, any student who completes this course should be able to learn any new programming language with relative ease.
Topics may include the following.
The prerequisites for this course are:
Professor |
Michael Wharton
LAS 2006 E-mail: [m i c h a e l]@cse.yorku.ca |
||
Lecture schedule | Tuesday, 4:00 PM - 5:30 PM Thursday, 4:00 PM - 5:30 PM |
||
Location | Chemistry Building (CB) 129 |
||
Text (required) |
Concepts of Programming Languages,
Tenth Edition, by Robert W. Sebesta Please click here for additional information about the textbook. |
||
Reference (required) |
The Java Language Specification,
Third Edition, by James Gosling, Bill Joy, Guy Steele,
and Gilad Bracha
Please click here for additional information about the reference book. |
||
Evaluation | component | weight | |
5 exercise sets Test 1 Test 2 Test 3 |
10 % 30 % 30 % 30 % |
||
Grading system | "The letter-grade system is the fundamental system of assessment of performance in undergraduate programmes at York University." | ||
grade | value | interpretation | |
A+ A B+ B C+ C D+ D E F |
9 8 7 6 5 4 3 2 1 0 |
exceptional excellent very good good competent fairly competent passing marginally passing marginally failing failing |