

Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
A course syllabus for Principles of Programming Languages. It describes the importance of programming languages and their relationship with computer systems. The course aims to teach students the salient features of programming languages and the essence of defining concepts of programming languages. The syllabus includes course structure, learning outcomes, time commitment per module, and grade breakdown. The course is a prerequisite for ASU's Master of Computer Science degree.
Typology: Lecture notes
1 / 3
This page cannot be seen from the preview
Don't miss anything!


Programming languages are one of the most important and direct tools for the construction of a computer system: in a modern computer different languages are routinely used for different levels of abstraction. Programming language is important because it defines the relationship, semantics and grammar which allows the programmers to effectively communicate with the machines that they program.
By the end of this short course, students at a broad level will be able to: Objective 1: Understand the salient features in the landscape of programming languages Objective 2: Understand the essence of defining concepts of programming languages, so to allow critical choice about the level of abstraction Course Structure After reviewing the course materials for these objectives, you will have the opportunity to take ungraded practice quizzes. This is to make sure you have mastered the learning objectives. Once you have mastered all of the course learning objectives, you will be prepared to take the Final Exam. After passing the final exam with an 7 0% or better, you would have completed CSE 340: Operating Systems prerequisite for ASU's Master of Computer Science degree.
You do not need to purchase materials for this course.
โ Module 1 ( 4 hours) โ Module 2 ( 5 hours) โ Module 3 ( 4 hours) โ Module 4 ( 6 hours) โ Module 5 ( 8 hours) โ 12 0 minutes for Final Exam
Time estimates are based on content provided in the course; additional readings outside the course have not been factored in these time estimates.
Course Work Quantity Percentage of Grade Final exam 1 100%
You will need to pass the final exam with an 70% or better, and successfully pass proctoring requirements for the final exam.
1.0: Overview 1.1: Lexical Analysis: Language and Syntax 1.2: Lexical Analysis: Regular Expressions 1.3: Lexical Analysis: Concatenation 1.4: Lexical Analysis: Kleene Star 1.5: Lexical Analysis: Regular Expression Examples 1.6: Lexical Analysis: Longest Matching Prefix Rule 1.7: Practice Quiz
2.0: Overview 2.1: Introduction to Syntax Analysis 2.2: Context Free Grammars 2.3: Leftmost & Rightmost Derivations 2.4: Parse Tree 2.5: Ambiguous Grammar 2.6: Efficient Parsing 2.7: First Sets 2.7.1: Example โ First Sets 2.8: Follow Sets 2.8.1: Example โ Follow Sets 2.9: Conditions for Predictive Recursive Descent Parser 2.10: Writing a Predictive Descent Parser 2.11: Practice Quiz