Skip to content

Amrita-TIFAC-Cyber-Blockchain/2024_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 CO2
14 Rust: Error Handling CO2
15 Rust: Package Manager CO2
# 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 16 - Feb - 2024
Haskell Lab Evaluation - 1 28 - Feb - 2024
Haskell Practice Exercise - 2: Opens 23 - Feb - 2024
Haskell Practice Exercise - 2: Submission 26 - Feb - 2024
Haskell Quiz - 2 13 - Mar - 2024
Haskell Lab Evaluation - 2 13 - Mar - 2024
Haskell Tutorial - 1: Opens 14 - Mar - 2024
Haskell Tutorial - 1: Submission 15 - Mar - 2024
Haskell Tutorial - 1: Opens 22 - Mar - 2024
Haskell Tutorial - 1: Submission 27 - Mar - 2024
Mid-Term Exam 24 - Apr - 2024
Assignment - 2: Opens 29 - Apr - 2024
Assignment - 2: Submission 11 - May - 2024
Rust Quiz - 3 11 - May - 2024
End Semester Exam 15 - May - 2024
Results Publication 19 - Jun - 2024

Haskell

Resources

Rust

Resources

About

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

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published