BS Computer Science Curriculum Guide
BS Computer Science Curriculum Guide
1- Introduction to ICT
Basic knowledge about computers, computing, hardware, IT, communication, networking,
programming, software development and databases etc.
Provides a foundation for IT related degrees and introduces some areas.
2- English Comprehension and Composition
English Grammar and Composition. Similar to O/A-levels English language courses.
Included as a general education course and can help with business communication.
3- Applied Physics for Engineers
Covers Physics topics like Electrostatics, Electromagnetism, Current, Waves and Optics etc.
Overlaps with inter level Physics.
Included as Mathematics and Science Foundation Course but concepts can be useful when
dealing with hardware, electronics, wireless and imaging areas.
4- Programming Fundamentals
Introduces programming i.e. making computers do things and covers basic concepts like if-else,
loops, functions, arrays, recursion and I/O etc. Mostly taught in Java, sometimes in C++ or
Python.
Very important first step for becoming a programmer and software developer.
_____________________________________________________________________
SEMESTER 2:
1- Operating Systems
Covers topics related to the working of Operating Systems, including overview and principles of
Operating Systems, Device Organization & System Operations, Process Management,
Inter-Process Communication, Synchronization and Deadlocks, Scheduling Algorithms, Memory
& Storage Management, File Systems, Security, I/O, Multiprocessing & Multithreading etc.
OS Concepts are helpful in many areas like DevOps, Mobile App Development, Embedded
Systems, Cloud Computing and Distributed & Parallel Computing and Cybersecurity. Some
concepts are useful in programming scenarios too.
2- Numerical Computing
Teaches solving mathematical problems using computations based on arithmetic operations and
approximations. Includes topics like Interpolation, Error Types, Solutions of Equations,
Numerical Differentiation and Integration, Taylor and Picard's Methods, Euler method and
Runge-Kutta method etc.
Can be helpful in Scientific Computing, Data Science, Operations Research and Optimization.
3- Data Communications and Computer Networks
Covers topics related to Network Models, Protocol Layers & OSI Model, Data & Signals, Digital
Transmission, Internet, WLAN, DNS, Process to Process Delivery, Communication Protocols,
Switching & Operations, Network Management and Network Security.
Useful in many areas like DevOps, Networking, Web Development, IoT, Distributed Systems,
Cybersecurity and Data Engineering etc.
4- Design and Analysis of Algorithms
Teaches performance analysis of algorithms and algorithm design paradigms. It covers topics
like Computational Complexity and Asymptotic Notations, Recurrence Relations, Computability,
Proofs and Induction, Master Theorem, NP-Hardness, Sorting Algorithms, Graph Search, Divide
& Conquer, Dynamic Programming and Greedy Algorithms etc.
Important for becoming a good and efficient programmer and for interviews. Can be useful in
problem solving, algorithm design and analyzing and optimizing code in software development,
especially in areas like Artificial Intelligence, Data Science, Game Development and Operations
Research. Also useful in theoretical computer science and in research related to any algorithms.
5- CS Elective-1
_____________________________________________________________________
SEMESTER 6:
1- Artificial Intelligence
Covers classical AI topics like Artificial Intelligence overview and history, Intelligent Agents and
Environments, Search & Planning, Logic, Knowledge Representation and Reasoning,
Adversarial Search, Uncertainty, Constraint Satisfaction and Optimization Algorithms. Often
includes introduction to Machine Learning and Neural Networks.
Artificial Intelligence and Machine Learning knowledge in it can be used for solving problems,
doing predictions/detections/estimations and automating things in many fields and real-world
applications. It's also useful in Data Science, Robotics, Game Development, Operations
Research, Optimization and Computer Vision.
2- Theory of Automata
A course related to Theoretical Computer Science and working of languages that covers
Automata Theory topics like theory of computation, regular expressions, closure properties,
Turing Machine, Finite Automata, Finite State Machine, DFA & NFA, Parsing & Ambiguity,
Pumping Lemma, Context-Free Grammars, Decidability and Push-Down Automata.
It's helpful in Compiler construction, programming language design and Formal Methods for
verification in Software Engineering especially in safety critical systems. It also relates to Natural
Language Processing in AI and Switching in Digital Logic.
3- CS Elective-2
4- CS Elective-3
_____________________________________________________________________
SEMESTER 7:
1- Compiler Construction
Explains the concepts behind working of compilers i.e. programs that translate source code for
execution. It includes topics like theories of compilers, language translation, lexical analysis,
syntax analysis, type checking, semantic analysis, scanners & parsers, memory organization
and code generation & optimization.
It’s useful in designing and working with compilers and programming languages.
2- Human Computer Interaction
Teaches principles of Human computer Interaction and Interaction Design. It includes topics like
Universal Design, Design Rules, User Experience, Evaluation Processes and Evaluation
Measures, PACT Analysis, Interaction Conceptualization, Data Gathering Techniques,
Human-Centered Design, Cognitive & social aspects of HCI, Interaction Technologies and
interface case studies.
It is useful in User Interface and Experience (UI/UX) design of software systems, processes and
considerations for designing human-centered systems and Game Design. Helpful for AR/VR
and novel interaction methods.
3- CS Elective-4
_____________________________________________________________________
SEMESTER 8:
1- Introduction to Psychology
Introduces Psychology and includes topics like learning and behavior, motivation and emotions,
personality, leadership, psychology theories and paradigms, mental health and cognitive
processes etc.
Offered as general elective but is helpful in client communication, management, professional
and personal life.
2- Computer Architecture
Teaches about the Architecture of Computer Systems and hardware. It contains
topics like computer arithmetic, instruction sets and operations, addressing modes,
processor, MIPS MicroProcessor, datapath, ALU, pipelines, hazards, dependencies and
forwarding, interrupts and memory etc.
Similar to Computer Organization and helps in understanding computer architecture, execution
of programs and working of hardware in computer and embedded systems and
high-performance computing
3- CS Elective-5
_____________________________________________________________________