CS 355 Programming Languages

Syllabus, Fall 2006

 

Course title:        CS 355 Programming Languages

Credits:                  4 required credits in the CS major 

Prerequisites:   CS 171, CS 240, and MAT 165

Instructor:         Dr. Gancho Ganchev

Office: WS114 – Mo We 1:30 - 3:00, Tu Th 3:15 – 4:15

Phone: (203) 837-9349

Email: ganchevg@wcsu.edu, gfganchev@yahoo.com

 

Description:

Formal definition of programming languages, including specification of syntax and semantics. Types of languages and their uses. Organization of compilers illustrating compilation of simple expressions and statements.

Resources:

Recommended Texts

                        [1] Sebesta, R.W (2005), Concepts of Programming Languages,

                               Addison Wesley

           [2] Sebesta, R. W.(2006), Programming the World Wide Web,

                                Addison Wesley

Class notes and additional course materials will be posted on the N: drive in the folder N:/Class/GanchevG/CS355

 

Attendance:      You are expected to be present for each class session.

 

Withdrawals:     No withdrawals after the official WCSU deadline.

 

Assessment:     Four tests (approximately 40 minutes in duration), three assignments and a final exam (2 hours). The emphasis will be on good understanding of programming language concepts and paradigms. 

Grading:  

                        Active Class Participation               05%

          Assignments:                                     20%

                        Tests:                                                  45%

                        Final exam:                                        30%

 

Tentative Schedule of Topics:

 

Session

Date

Topics

Reference

1-Th

Sep 07

Introduction

[1] Ch. 1

2-Tu

Sep 12

History of programming languages

[1] Ch. 2

3-Th

Sep 14

Describing syntax

[1] Ch. 3

4-Tu

Sep 19

Describing syntax

[1] Ch. 3

5-Th

Sep 21

Static semantics

[1] Ch. 3

6-Tu

Sep 26

Test 1

Operational semantics

[1] Ch. 3

7-Th

Sep 28

Axiomatic semantics

[1] Ch. 3

8-Tu

Oct 03

Axiomatic semantics

[1] Ch. 3

9-Th

Oct 05

Denotational semantics

[1] Ch. 3

10-Tu

Oct 10

Lexical and syntax analysis

[1] Ch. 4

11-Th

Oct 12

Lexical and syntax analysis

[1] Ch. 4

12-Tu

Oct 17

Test2

Scripting languages: Perl

[2] Ch. 4

13-Th

Oct 19

Scripting languages: Perl

[2] Ch. 4

14-Tu

Oct 24

Scripting languages: Perl

[2] Ch. 4

15-Th

Oct 26

Scripting languages: Perl

[2] Ch. 4

16-Tu

Oct 31

Names, bindings, type checking and scopes

[1] Ch. 5

17-Th

Nov 02

Data types

[1] Ch. 6

18-Tu

Nov 07

Data types

[1] Ch. 6

19-Th

Nov 09

Expressions and assignments

[1] Ch. 7

20-Tu

Nov 14

Statement level control structures

[1] Ch. 8

21-Th

Nov 16

Subprograms

[1] Ch. 9

22-Tu

Nov 21

Test 3

Implementing Subprograms

[1] Ch. 10

23-Tu

Nov 28

Assignment 1 due

Implementing Subprograms

[1] Ch. 15

24-Th

Nov 30

Functional Languages

[1] Ch. 15

25-Tu

Dec 05

Test 4

Functional Languages

[1] Ch. 15

26-Th

Dec 07

Assignment 2 due

Logic Programming: Prolog

[1] Ch. 16

27-Tu

Dec 12

Logic Programming: Prolog

[1] Ch. 16

28-Th

Dec 14

Assignment 3 due. Additional Topics

 

TBA