COE4167930 - Principles of Programming Languages
Syllabus
Lectures
Assignments
Labs
Lectures
Week
Topic(s)
Slide(s)
Additional Resources
Week I
23.09
Chapter 1 - Preliminaries
Ch 01:
ppt
|
pdf
Programming Languages
- Languages in GitHub
-
https://madnight.github.io/githut/
-
GitHut: A small place to Discover Languages in GitHut
- Tiobe Index :
https://www.tiobe.com/tiobe-index
/
-
The 7 Most In-Demand Programming Languages
-
Stackoverflow Developer Survey Results
-
20 Best Programming Languages in 2024 [Ultimate List]
-
Top 10 In-Demand Programming Languages for 2024
-
The 15 Best Programming Languages to Learn in 2024
Week II
30.09
Chapter 2: Evolution
Ch 02:
ppt
|
pdf
- Bubble sort in different languages
(
http://www.rosettacode.org/wiki/Bubble_Sort
)
Week III
07.10
Chapter 3: Syntax and Semantics
Ch 03:
ppt
|
pdf
-
https://en.wikipedia.org/wiki/Syntax_(programming_languages
)
-
https://en.wikipedia.org/wiki/Semantics_(computer_science
)
-
https://en.wikibooks.org/wiki/Introduction_to_Programming_Languages/Grammars
-
https://medium.com/@mikhail.barash.mikbar/grammars-for-programming-languages-fae3a72a22c6
-
https://docs.oracle.com/javase/specs/jls/se7/html/jls-2.html
-
https://learn.microsoft.com/en-us/dotnet/standard/base-types/regular-expression-language-quick-reference
-
https://download.microsoft.com/download/D/2/4/D240EBF6-A9BA-4E4F-A63F-AEB6DA0B921C/Regular%20expressions%20quick%20reference.pdf
Week IV
14.10
Chapter 4: Lexical and Syntax Analysis
Ch 04:
ppt
|
pdf
Regular Expression Tutorials
- Regex Tutorial (
html
)
- Regular Expressions Basics! (
html
)
Lex & Yacc (
html
)
Parser Generators (
html
)
Antlr(
html
)
Getting Started With Antlr (
html
)
Antlr Lab (
html
)
Week V
21.10
Chapter 5: Names, Bindings, and Scopes
Ch 05:
ppt
|
pdf
-
https://www.tutorialspoint.com/what-is-binding-and-binding-time-in-compiler-design
-
https://en.wikipedia.org/wiki/Scope_(computer_science
)
-
https://gkonat.github.io/assets/publication/declarative_name_binding_and_scope_rules-sle12.pdf
-
https://en.wikibooks.org/wiki/Introduction_to_Programming_Languages/Binding#:~:text=Binding%20time%20is%20the%20moment,defined%20at%20language%20design%20time
.
Week VI
04.11
Chapter 6: Data Types
Ch 06:
ppt
|
pdf
-
https://en.wikipedia.org/wiki/Data_type
-
https://towardsdatascience.com/introduction-to-data-types-and-type-systems-in-programming-3e8aec6da7f2
-
https://www.tutorialspoint.com/computer_programming/computer_programming_data_types.htm
-
https://www.w3schools.in/c-programming/data-types
Midterm Week
Week VIII
18.11
Chapter 7: Expressions and Assignment Statements
Ch 07:
ppt
|
pdf
-
https://en.wikipedia.org/wiki/Assignment_(computer_science
)
-
https://en.wikipedia.org/wiki/Expression_(computer_science
)
-
https://docs.oracle.com/database/121/LNPLS/expression.htm#LNPLS01319
-
C example
Week X
25.11
Chapter 8: Control Structures
Ch 08:
ppt
|
pdf
-
https://en.wikipedia.org/wiki/Control_flow
-
https://www.alternative-computer-programming.com/terminology-control-structure.html
Week XI
02.12
Chapter 9: Subprograms
Ch 09:
ppt
|
pdf
-
https://www.tutorialspoint.com/what-are-subprograms
-
https://learning.rc.virginia.edu/courses/cpp-introduction/subprograms/
-
https://docs.oracle.com/cd/A58617_01/server.804/a58236/07_subs.htm
Grades
- Grades (html)