COURSE SUMMARY
Course Title: 
Software Quality Assurance
Course Code: 
15CSE368
Year Taught: 
2015
2016
2017
2018
Type: 
Elective
Degree: 
Undergraduate (UG)
School: 
School of Engineering
Campus: 
Bengaluru
Chennai
Coimbatore
Amritapuri

'Software Quality Assurance' is a course offered in the B. Tech. in Computer Science and Engineering program at School of Engineering, Amrita Vishwa Vidyapeetham.

Unit 1

iOS: Top down view of iOS – System Start-up Procedure iBoot – Processes - Threads – virtual memory - File Systems – Security Architecture - Internal API used by the system - BSD and Mach- Dissecting the kernel, XNU, into its sub components: Mach, the BSD Layer, and I/o kit - Inner workings of device drivers. Objective C – Swift Programming - Xcode, Cocoa Touch API, memory management, user input and gesture recognition, data persistence including Core Data, SQLite, NSUser Defaults and Plists. Working with audio, video and the accelerometer. Simple Applications development.

Unit 2

Android: Introduction - Introduction to the Linux kernel - Compiling and booting the Linux kernel - Understanding the Android Internals - Understanding the Android Build System - Customizing Android for a specific hardware - Building and booting Android.

Android changes to the Linux kernel - Android boot-loaders - Booting Android - Using ADB - Android file-system. Android build system - Adding a new module and product. Android native layer - Bionic, Toolbox, init, various daemons, Dalvik, hardware abstraction, JNI

Unit 3

Android framework for applications - Introduction to application development - Android packages - Advice and resources -Application ecosystem - web technologies in Mobile OS - Hardware accelerated graphics through OpenGL ES - ANDROID support for all the common wireless mechanisms: GSM, CDMA, UMTS, LTE, Bluetooth, WiFi, NFC.

Case Study: Extending the Android framework for ARM-based hardware.

  • Jonathan Levin, “MAC OS X and iOS internals: to the Apple’s Core”, Wiley / Wrox Tile, 2012
  • Ole Henry Halvorsen and Douglas Clarke, “OS X and iOS Kernel Programming”, First Edition, Apress Publication, 2011.
  • Karim Yaghmour, “Embedded Android: Porting, Extending and Customizing”, O’Reily Publications, 2013.
  • Earlence Fernandes, “Instant Android Systems Development How To”, PACKT Publishing, 2013.