System Software
<aside>
📌 Taught by Prof. Thangaraju B (System Softwares)
</aside>
<aside>
⏲️ Course Duration: 2 months [Sep - Oct]
</aside>
Syllabus
Computer Architecture
- Basic structure of computer hardware and software
- Process, Memory and I/O systems: CPU, RAM, Virtual Memory, I/O devices
- Types of System - Server, Desktop, Embedded and Real Time
- Operating System Vs Kernel
Kernel Architecture
- Kernel Subsystems (computing resource management)
- Types of Kernel: Monolithic, Micro and Hybrid Architecture
- Monolithic - Server and Desktop
- Microkernel - Embedded and Real Time systems
- Hybrid - Handle both RT and Non-RT tasks
System Internals
- Brief implementation of - process, file, memory and signal management
- Communication Mechanisms - pipe, FIFO, message Q, shared memory
Synchronization Mechanisms - File and process
- Implementation of Soft Real Time Systems - as per POSIX standard
- Application Program Vs Kernel Module
Assessment
- Course contains - Assignment / Quiz, 64 lab exercises and a Mini-project [with viva voce] (to be done individually).
- Assignment / Quiz contains 25 objective type questions, each carrying a $-50\%$ negative marking. Conducted on alternate Saturdays.
- Marks distributions: $50\%$ Assignment / Quiz $+$ $50\%$ Lab exercises & Mini-project
Resources
Additional Notes
- Only C language is to be used for the assignments, lab exercises and mini-project. Also, it is expected that no standard libraries are to be used.
Enterprise Software Development
<aside>
📌 Taught by ______ (Enterprise Software Development)
</aside>
<aside>
⏲️ Course Duration: 2 months [Nov - Dec]
</aside>
Syllabus
Fundamentals of Object-oriented Analysis and Design
- OO concepts
- Unified Modeling Language (UML)
Software Architectures
- Understanding large scale systems – MVC, Web architecture, REST, mobile architecture, and hybrid systems along with relevant concepts on reference and enterprise architecture.
- Understanding quality attributes
- Introduction to design and architectural patterns
Web application development
- MVC for Web - Twitter Bootstrap (rendering view), jQuery, Ajax (from jQuery) and servlets (controller), REST service, back-end model - MySql, Java programming and concepts of key value pair (like mongo DB – implemented using MySql)
Mobile application development
- Connectivity, security, online/offline modes, integration of sensors, location services, responsiveness.
- AngularJS and related frameworks
Resources