Skip to content

Aravind0347/20CYS312_Principles_of_Programming

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 

Repository files navigation

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 CO1
2 Introduction to Functional Programming CO1
2 Programming with Haskell CO1
3 Haskell: GHCi interpreter CO1
# Practice Exercises - 1 CO1 Evaluate on next Lab
4 Haskell: functions and types CO1
# Quiz - 1 and Lab Evaluation - 1 CO1
5 Haskell: functional composition CO1
3 Haskell: GHCi interpreter CO1
6 Haskell: numbers, lists, tuples CO1
7 Haskell: type classes, pattern matching CO1
# Tutorial Exercises - 2 CO1 Evaluate on next Lab
8 Haskell: higher order functions: currying, lambdas, maps and filters folds, IO monad. CO3
# Quiz - 2 and Lab Evaluation - 2 CO1
# Assignment - 2 CO1
# Mid-Term Examination CO1, CO3
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 and Lab Evaluation - 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 and Lab Evaluation - 4
# End-Semester Examination

Dates and Deadlines

Course Start 08 - Jan - 2024
Assignment - 1: Opens 09 - Jan - 2024
Assignment - 1: Submission 21 - Jan - 2024
Haskell Practice Exercise - 1: Opens 24 - Jan - 2024
Haskell Practice Exercise - 1: Submission 27 - Jan - 2024
Haskell Quiz - 1 13 - Feb - 2024
Haskell Lab Evaluation - 1 13 - Feb - 2024
Assignment - 2: Opens 16 - Feb - 2024
Haskell Practice Exercise - 2 27 - Feb - 2024
Haskell Quiz - 2 5 - Mar - 2024
Haskell Lab Evaluation - 2 5 - Mar - 2024
Assignment - 2: Submission 13 - Mar - 2024
Mid-Term Exam 24 - Apr - 2024
Rust TBD
End Semester Exam 29 - May - 2024

Haskell

Resources

Rust

Resources

About

20CYS312 - Principles of Programming Languages - 6th Sem - B.E. CSE(CYS) - ASC, CBE

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Haskell 100.0%