Principles of Programming Languages

This block covers the fundamental concepts of programming languages, including syntax, semantics, and paradigms.
Key Topics:
- Language Syntax and Semantics
- Programming Paradigms: Procedural, Object-Oriented, Functional
- Type Systems and Control Structures
Compiler Design

This block discusses the design and implementation of compilers, including lexical analysis, parsing, and code generation.
Key Topics:
- Lexical Analysis and Syntax Parsing
- Intermediate Code Generation
- Optimization Techniques and Code Generation
C Programming Language

This block focuses on the C programming language, covering topics like pointers, data structures, and memory management.
Key Topics:
- Pointers and Memory Allocation
- Data Structures: Arrays, Linked Lists, Stacks
- File Handling and Input/Output Operations
OOPS through Java

This block delves into Object-Oriented Programming (OOP) principles in Java, such as classes, inheritance, and polymorphism.
Key Topics:
- Classes and Objects
- Inheritance and Polymorphism
- Exception Handling and File I/O
Computer Organization and Architecture

This block explains the internal structure of computers, including processors, memory hierarchy, and instruction sets.
Key Topics:
- Processor Architecture and Design
- Memory Hierarchy and Cache Management
- Instruction Set Architecture (ISA)