Computer Science Specialization

Data Structures and Algorithms

  • Stacks, Queues, lists, trees and asymptotic complexity
  • Searching and Sorting
  • Recursive Algorithms
  • Greedy Algorithms
  • Graph Algorithms
  • Dynamic Programming
  • Linear Programming
  • NP Completeness
  • Randomized Algorithms

Database Design

  • Data Modeling
  • Relational Algebra and Calculus
  • Keys, Dependencies and Normalization
  • Relational Database
  • Constraints, Triggers and Views
  • Storage Mechanism and Indexing
  • Database Queries
  • Concurrency Control
  • Procedures and Transactions 

Python Programming

  • Introduction to object oriented programming concepts
  • Exception handling and debugging
  • Introduction to advanced scientific libraries PyLab, numPy and SciPy
  • Analysis and visualization in Python and Matplotlib

​Compilers

  • Context free grammars and parsing
  • Lexical Analysis and scanner construction
  • Structure of the translation process
  • Top-Down Parsing and Bottom-Up Parsing
  • Declarations and References
  • Semantic Analysis and Type checking
  • Runtime Organization
  • Storage and execution model
  • Expression evaluation and control flow
  • Register Allocation
  • Data flow analysis

​Computer Networks

  • Introduction to computer networks
  • Fundamentals of data transmission
  • LAN technology (Ethernet, CSMA/CDMA)
  • TCP/IP and client server design
  • Routing Algorithms
  • End to End Reliability (TCP/UDP)
  • Congestion Control
  • Quality of Service
  • Network Security
  • Network Management 

​Operating Systems

  • Process States, context switching
  • Threads
  • Process Synchronization
  • Process Scheduling
  • Virtual Memory
  • Paging Algorithms
  • File Systems
  • Network Protocols

​IOT (Internet of Things) System Design

  • IOT Around Us
  • Sensors
  • Multi-sensor Systems and Calibration
  • IoT System Overview
  • Power management and Batteries
  • Understanding Microprocessors
  • Microprocessors for IoT Sensors: An Overview
  • Microcontrollers for IoT Sensors: Resources and Processes
  • Representation of Numbers
  • Netwroking and IoT
  • Big Data
  • Hadoop and Map Reduce
  • An Introduction to Raspberry Pi