Software Programming Fundamentals

Duration: 540 hours + 5 days Project

Eligibility: Pass in 12 th standard or equivalent

Program Structure

Module 1: C Programming (144 hours + 4 days for Project)

  • Number System
  • Data Types Part 1
  • I/O Functions
  • Conditional Execution
  • Structure & Nesting
  • Functions & Prototypes
  • Data Types Part 2
  • Arrays
  • Pointers
  • C Pre-Processor & Compilation
  • Scope & Dynamic Memory
  • Other Data Types
  • Extensive Programming Practice
  • Project Work on C Programming
  • Module Assessment Test: The result is calculated as collective score of the test and Project Work Score

Module 2: Data Structures & Algorithms (216 hours training)

  • Arrays
  • Problems on Arrays
  • Linked List
  • Problems based on Linked List
  • Stacks
  • Problems based on Stacks
  • Queues
  • Problems based on Queues
  • Graphs
  • Problems based on Graphs
  • Introduction to Algorithms
  • Searching
  • Sorting
  • Greedy
  • Dynamic
  • Extensive Programming Practice based on Company Interview Problems
  • Module Assessment Test: The result is calculated as the collective score of the test and various internal assessment procedures.

Module 3: Operating System (180 hours + 7 hours Project)

  • Overview of Operating Systems and Functionalities
  • Characteristics of OS
  • Hardware concepts related to OS
  • CPU states
  • I/O Channels
  • Memory Hierarchy
  • Microprogramming
  • The Concept of a Process
  • Operations on Processes
  • Process states and Concurrent Processes
  • Process Control Block and Process Context
  • UNIX Process Control and Management
  • PCB, Signals, Forks and Pipes
  • Interrupt Processing
  • Operating System Organisation
  • OS Kernel FLIH
  • Dispatcher
  • Job and Process Scheduling
  • Scheduling Algorithms
  • Process Hierarchies
  • Problems of Concurrent Processes
  • Critical Sections, Mutual Exclusions, Synchronization and Deadlock
  • Mutual Exclusion
  • Process Co-operation
  • Producer and Consumer Processes
  • Semaphores
  • Use of Semaphores to implement mutex (mutual exclusion object)
  • Process Synchronization
  • Implementation of Semaphores
  • Critical Regions
  • Conditional Critical Regions
  • Monitors and Ada Tasks
  • Inter process communication (IPC)
  • Message Passing – Direct and Indirect
  • Deadlock
  • Memory Organisation and Management
  • Storage Allocation
  • Virtual Memory Concepts, Paging and Segmentation
  • Address Mapping
  • Virtual Storage Management
  • Page Replacement Strategies
  • File Organisation: Blocking and Buffering
  • File Descriptor and Directory Structure
  • File and Directory Structures, Blocks and Fragments
  • Directory Tree, inodes (index nodes), File Descriptors and UNIX File Structure
  • Project Work (PW): Develop an OS in class – 7hrs