East Carolina University
Department of Computer Science

CSCI 3675
Organization of Programming Language
Standard Syllabus


3 credits Prepared by Karl Abrahamson, May 2018

Catalog entry

P: CSCI 2540 or CSCI 3200. Applied course in programming language constructs. Emphasis on run-time behavior of programs. Provides appropriate background for advanced-level courses involving formal and theoretical aspects of programming languages and compilation process.

Course summary

Programming languages are the notation in which programmers express their creations. It is said that natural language influences how people think. Whether or not that is true, it is certainly the case that programming languages strongly influence how programmers and software developers think.

This course explores different kinds of programming languages: their philosophies, components, structure, advantages and disadvantages. It also covers issues such as type checking, specification of syntax and semantics of languages, foundational issues and how programming languages are implemented.

The student should come away with an appreciation for different forms of programming languages, and should be able to explain when and why they are useful. The student should be able to apply different programming styles to solving problems, regardless of the language used. The student should have sufficient background to understand programming language documentation, and to learn new languages that follow particular styles.

Course topics

Student learning outcomes

Textbook

Concepts of Programming Languages: A Unified Approach, 2014, by Karl Abrahamson

Grading

Grading is based on six biweekly quizzes, a comprehensive final examination and approximately seven programming assignments. The quizzes will count a total of 36%, the final exam 26% and the programming assignments 38%.

Grade meanings

Grade Meaning
A  Achievement substantially exceeds basic course expectations
A−  
B+  
B Achievement exceeds basic course expectations
B−  
B+  
C Achievement adequately meets basic course expectations
C−  
D+  
D Achievement falls below basic course expectations
D−  
F Failure – achievement does not justify credit for course