Syllabus

Linux Programming (123CS301PC211)

This course covers Linux fundamentals and advanced topics:

  • Introduction to Linux and basic shell commands
  • File systems and file handling
  • Process management and system calls
  • Inter-process communication (IPC)
  • Network programming in Linux
  • Linux kernel and module programming

Data Structures Using Java (123CS313PC203)

Key topics include:

  • Arrays, Linked Lists, Stacks, and Queues
  • Trees: Binary trees, AVL trees, B-trees
  • Hashing and HashMaps
  • Graph algorithms: DFS, BFS, Dijkstra's algorithm
  • Sorting algorithms: QuickSort, MergeSort, HeapSort

Operating Systems (123CS301PC204)

The syllabus covers:

  • Process scheduling and synchronization
  • Memory management and paging
  • File systems and I/O management
  • Deadlocks and recovery strategies
  • Virtualization and system security

Computer Networks (123CS301PC205)

Topics include:

  • Network models and protocols (OSI, TCP/IP)
  • Routing algorithms and network layer functions
  • Data link layer and MAC protocols
  • Transport layer and error handling
  • Network security: Firewalls, VPNs, and encryption

AI and Machine Learning (123CS301PC206)

The syllabus includes:

  • Introduction to AI and ML concepts
  • Supervised and unsupervised learning
  • Neural networks and deep learning
  • Natural language processing (NLP)
  • Reinforcement learning

Object-Oriented Programming in Java (223CS203ES112)

Covered topics include:

  • Introduction to Object-Oriented Design
  • Inheritance, Polymorphism, and Encapsulation
  • Abstract classes and interfaces
  • Exception handling and file I/O
  • Design patterns and best practices