Skip to content

Latest commit

 

History

History
81 lines (69 loc) · 4.01 KB

File metadata and controls

81 lines (69 loc) · 4.01 KB

20CYS312 - Principles of Programming Languages



Pre-requisite: 20CYS113 - Computer Programming and 19CSE201 - Advanced Programming

Course Instructor: Ramaguru R, Assistant Professor (Senior Grade), TIFAC-CORE in Cyber Security.

📚 Course Outcome

CO# CO Description
CO1 Understand and implement pure functional programs in Haskell
CO2 Understand and implement programs in Rust
CO3 Formulate abstractions with higher order procedures

⌚ Course Plan and Status

Lecture No. Topic CO No. of Hours
# Course and Class Introduction #
1 Programming Paradigms - Overview of various Programming Paradigms #
# Assignment - 1: Opens CO1
2 Introduction to Functional Programming CO1
2 Programming with Haskell CO1
3 Haskell: GHCi interpreter CO1
4 Haskell: functions and types CO1
5 Haskell: functional composition CO1
# Quiz - 1 CO1
6 Haskell: numbers, lists, tuples CO1
7 Haskell: type classes, pattern matching CO1
8 Haskell: higher order functions: currying, lambdas, maps and filters folds, IO monad. CO1
# Quiz - 2 CO1
# Mid-Term Examination
9 Introduction to Rust CO2
10 Rust: Data types, Operators, Decision Making, Loops CO2
11 Rust: Functions, Tuple and Array CO2
12 Rust: Ownership, Borrowing, Slices CO2
13 Rust: Structure, Modules, Collections CO2
# Quiz - 3
14 Rust: Error Handling, File CO2
15 Rust: Input and Output, Package Manager CO2
16 Rust: Iterator and Closure CO2
17 Rust: References, Concurrency CO2
# Quiz - 4
# End-Semester Examination

Dates and Deadlines

Course Start 08 - Jan - 2024
Assignment - 1 22 - Jan - 2024
Haskell Tutorial - 1 31 - Jan - 2024
Haskell Quiz - 1 6 - Feb - 2024
Haskell Lab Evaluation - 1 6 - Feb - 2024
Haskell Tutorial - 2 14 - Feb - 2024
Haskell Quiz - 2 28 - Feb - 2024
Haskell Lab Evaluation - 2 27 - Feb - 2024
Assignment - 2 5 - Mar - 2024
Mid-Term Exam Mar - 2024
Rust TBD

Haskell

Resources

Rust

Resources