Home    
About Us
e-Brochure
Schedule
Eligibility Criteria
FAQs
Placement Corner
Contact Us

  

System Software is an important area of the computer system. It helps in managing and controlling the hardware and also provides convenient environment for the application software. Software like operating systems, device drivers, compilers, loaders, virtual machines, libraries etc comes under the category of system software, whereas software like computer games, online ticket booking, payroll software etc are classified as application software. System software has to be reliable, robust, fast performing, memory efficient and free from security issues like buffer overflow and format string vulnerabilities. Developing this kind of software is a challenging task as knowledge of system internals and quality (time, memory efficient and robust) programming skills are required. There is a gap between academia and industry requirements in this specific area of software development Manpower having these skills is scarce and there are not many practical oriented training courses. However, demand for these skill sets is fast growing in the development of software specific to domains like Telecommunications, Networking, Cyber Security, Operating Systems, Grid Computing, Ubiquitous Computing, Medical Equipments etc. Usage of wide range of operating systems and applications containing smaller operating system footprint in embedded devices is growing. Understanding the system call interface of operating system and operating system internals is also required in writing efficient application specific libraries and application programs. Knowledge on Operating system features like resource sharing and management, flexibility through separating the role of mechanisms and policies, buffer management, module level interfaces, robustness, performance, security and protection will also help in writing efficient application software.

Centre for Development of Advanced Computing (C-DAC), Hyderabad which is doing pioneering research work in providing system and network security solutions has the requisite expertise to conceive, design to develop and implement training program in system software development. The result of their efforts is the most successful career oriented course “Diploma in System Software Development” (DSSD) for Engineers in Electronics, Computer Science and Information Technology and also for Computer Science Post Graduates.

Diploma in System Software Development (DSSD) is a 22 weeks fulltime course consisting of 9 modules including an industry relevant project and a seminar. Daily session comprises of two hours of classroom lectures followed by four hours of lab work. Project work for one month will be assigned to the students during the course .

  • Basic Data Types, Arrays & Pointers
  • Functions, Structures and Unions
  • Files and Console I/O
  • C and Assembly, Code Optimization
  • Introduction to Data Structures, Complexity of Algorithms
  • Linked Lists, Stacks, Queues
  • Searching & Sorting Algorithms
  • Trees & Graphs
  • Object Oriented Programming Concepts, Classes, Friend functions
  • Static data members & member functions
  • Operator and Function Overloading
  • Inheritance
  • Virtual Functions and Runtime Polymorphism
  • C++ Files and I/O Support
  • Templates
  • Exception Handling
  • RTTI and STL
  • Introduction to RISC and CISC Processor Architectures
  • ARM Registers and Programmers Model
  • ARM Development Tools
  • ARM Processor Modes and States
  • ARM Exceptions, Interrupts and Vector Table
  • Overview of ARM Instruction Set
  • Architecture support for System Programmers and Operating Systems
  • Cortex-M3 Operation Modes (Handler and Thread Mode)
  • Overview of computer networks and the Internet.
  • Client-server and peer-to-peer models.
  • TCP/IP Network protocol stack
  • Application layer protocols (FTP, HTTP, SMTP, DNS.)
  • TCP & UDP transport protocols and Socket Interface
  • Network layer protocols (IPv4 and IPv6), Routing algorithms
  • Local area networks (LANs), Ethernet
  • Wireless Technologies (Bluetooth, 802.11), Multimedia Standards
  • Introduction to Software Engineering, Life Cycle Models
  • Introduction to Software Engineering, Life Cycle Models
  • Requirements Engg, Design, Testing & Implementation
  • Configuration Management
  • Project Estimation, Postmortem analysis
  • Software Quality Management (CMM, CMMI & ISO9000)
  • Introduction to Security Engineering
  • Overview, Goals of Security
  • Introduction & Types of Cryptographic Algorithms
  • PKI and Digital Certificates
  • Authentication & Access Control
  • e-Mail Security, Web Security & Perimeter Security
  • IP Security, Database Security
  • Wireless Network Security
  • Information Security Standards
  • Security Design Principles, Architectures and Models
  • Secure Coding Practices in C & C++
  • Security Testing and Evaluation Criteria
  • OS Goals, Services, Components, OS Architecture, Monolithic & Micro Kernel
  • Linux Architecture
  • File and Console I/O Functions
  • Processes, Threads and Scheduling
  • Inter-Process Communication and Synchronization (Shared Memory, Message Queues, Semaphores and Mutex)
  • Socket Programming
  • Memory Management
  • File System Management
  • Kernel Introduction and module programming
  • Introduction to Device Drivers
  • Char Drivers
  • Debugging techniques
  • Hardware Management and Interrupt Handling (Top halves and Bottom halves)
  • Timers, taskqueues, tasklets
  • Kernel Data types
  • USB drivers
  • Overview on Block Drivers and Network Drivers
  • Windows Programming Overview
  • Handling Processes and Pipes
  • Handling Virtual Memory
  • Exception Handling
  • Unicode and Character Internationalization
  • Creating and Using Threads
  • Handling Synchronized Resources
  • Network Programming
  • Using the Registry
  • Using Named Pipes and Mail Slots
  • Dynamic Link Libraries
  • Creating Windows NT Services
  • Overall System Architecture
  • Kernel Mode I/O components
  • Windows kernel mode driver development
  • Debugging Drivers
  • Introduction to Java
  • Creating Classes, Inheritance
  • Interfaces & Packages
  • Exceptions, Multithreaded Programming
  • Input and Output Streams
  • Introduction to Event Handling & GUI Programming
  • Overview of Java Native Interface (JNI) and JNI components
  • Overview of Mobile Platforms
  • Android Architecture and Mobile Stack
  • Dalvik Virtual Machine
  • Android Native Development Kit (NDK)
  • Application Framework and Anatomy of Android Applications
  • Activities, Intents, Services, Content Providers, Broadcast Receivers
  • Parallel Programming Paradigms
  • MultiCore Architectures
  • Modeling Performance - Amdahl’s Law, Gustafson’s Law
  • System Overview of Threads
  • Threading and Parallel Programming Constructs
  • Multithreaded Environment
  • OpenMP programming
  • Introduction to Message Passing Interface (MPI)
  • OpenCL programming
  • Performance Analysis of multithreaded programs
  • Multithreaded Debugging Techniques
  • High Performance Computing – Cluster, Grid
     
    SignIn? Click here to Login
    NewUser? Register Here
    ForgotPassword? Click Here
    © 2008 C-DAC. All rights reserved.