Array
(
)

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