0% found this document useful (0 votes)
16 views

BS Computer Science Curriculum Guide

The document outlines the curriculum for a BS in Computer Science over 6 semesters. It lists the core courses in each semester which cover topics in programming, data structures, algorithms, operating systems, databases, networks, AI, and mathematics/science foundations. Key courses introduce programming, OOP, databases, algorithms, OS, networks, and AI.

Uploaded by

UA
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views

BS Computer Science Curriculum Guide

The document outlines the curriculum for a BS in Computer Science over 6 semesters. It lists the core courses in each semester which cover topics in programming, data structures, algorithms, operating systems, databases, networks, AI, and mathematics/science foundations. Key courses introduce programming, OOP, databases, algorithms, OS, networks, and AI.

Uploaded by

UA
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

BS Computer Science Curriculum Guide - based on COMSATS Lahore Fall2022

By Imroze Aslam Malik - https://www.linkedin.com/in/imrozeaslam/


_____________________________________________________________________
SEMESTER 1:

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- Digital Logic Design


Covers Digital Systems topics like Number Systems, Boolean Algebra, Logic Gates, Gate
Minimization, Combinatorial Logic, Sequential Circuits and Registers etc.
Provides foundations for understanding hardware, Computer Architecture, MicroProcessors,
Digital Electronics and Embedded Systems etc.
2- Discrete Structures
Teaches about Discrete Mathematics and discrete data structures such as sets, relations,
functions, graphs and trees. Also covers logic, combinatorics, probability and mathematical
proofs.
Provides foundation for Computing and Theoretical Computer Science and helps in
understanding other courses. The concepts are used in many areas e.g. Data Science,
Networking, Databases and Cybersecurity etc.
3- Introduction to Management
Introduces Management and covers topics like management theory, organizational
environments, planning, decision making, human resources and leadership etc.
Offered as a general elective but can be helpful in software project management and
professional life.
4- Multivariable Calculus
Covers Calculus of multiple variables including topics like Vector valued functions, Vector
Calculus, Multiple Integration, Gradients, Surfaces and Polar Coordinates etc.
Important for areas like Machine Learning, Data Science, Game Development, Computer
Graphics, Computer Vision and Scientific Computing.
_____________________________________________________________________
SEMESTER 3:

1- Object Oriented Programming


Covers the Object Oriented Programming paradigm including topics like classes and objects,
inheritance, polymorphism, abstraction and encapsulation. Also includes event handling, GUI
and library components. Mostly taught in Java.
Very important for programming, software development and interviews.
2- Linear Algebra
Covers Linear Algebra mathematical topics like Matrices, system of Linear Equations, Vector
Spaces, Determinants, Linear Mappings, Eigenvectors and Inner Product Spaces.
It's useful in many areas like Machine Learning, Computer Graphics, Image Processing and
Computer Vision, Game Development, Cryptography, Quantum Computing and Scientific
Computing.
3- Pakistan Studies
Covers Pakistan's history, ideology, government structure, geography, law and policy, issues
and international relations etc.
Included as a general education course.
4- Statistics & Probability Theory
Covers Probability Fundamentals, Random Variables, Conditional Probability & Bayes Theorem,
Joint & Marginal Probability, Expectation, Probability Distribution Function, Cumulative
Distribution Function, Statistics Fundamentals, Central Tendency & Dispersion Measures and
Probability Distributions e.g. Normal and Binomial.
Very important for Data Science, Machine Learning and Artificial Intelligence. It has applications
in many other areas like Data Communication, Modeling and Simulation, Algorithms Analysis,
Operations Research and Scientific Computing.
5- Modern Physics
Introduces Modern Physics topics like Special Relativity, Quantum Physics and Atomic Physics.
Offered as a general elective and could be useful in Quantum Computing.
_____________________________________________________________________
SEMESTER 4:

1- Data Structures and Algorithms


Teaches Data Structures like Linked Lists, Stacks, Queues, Trees and Graphs, along with their
usage. Also covers Algorithms related to Searching, Sorting, Hashing and Recursion.
Very important for becoming a nice and efficient programmer and for interviews.
2- Database Systems
Introduces Databases and their evolution and covers topics like Relational Model and Relational
Algebra, Data Modeling, Integrity Constraints, Normalization and Functional Dependency,
Entity-Relationship Models, Schema Mapping, SQL Scripting, and NoSQL & MongoDB.
Important for general Software Development and Web Development, Data Engineering and
Data Science.
3- Microprocessor and Assembly Language
Teaches working of computers and includes topics like data representation in computers,
Instruction Execution, Indexing, Pipelines, Computer Organization and Architecture, Parallelism
and Intel MicroProcessors. Also covers low level Assembly Language and different types of
instructions and operations.
Helps in understanding computer architecture, execution of programs and working of hardware
in computer and embedded systems and high-performance computing.
4- Software Engineering Concepts
Briefly covers the whole Software Engineering discipline by including topics like
Requirements Engineering, Software Quality Engineering, Software Project Management,
Software Development Process, Software Architecture & Design and Software Maintenance etc.
Helpful as a Software Engineer, Software Project Manager and Quality Assurance Engineer.
5- Communication Skills
Teaches communication related topics including how to write reports, emails and resume etc.,
7Cs of effective communication, presentations & meetings and interview skills.
Helpful in professional life communication.
6- Differential Equations
A mathematics course that covers topics related to types, solution methods and application of
Differential Equations including Ordinary Differential Equations, Linear Differential Equations,
Higher order Differential Equations, Applications of different types of Differential Equations
System of Higher order Differential Equations, Power Series and Partial Differential Equations
etc.
Useful in Scientific Computing and Modeling & Simulation. Also has some applications in Data
Science, Machine Learning, Game Physics and Computer Vision.
_____________________________________________________________________
SEMESTER 5:

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
_____________________________________________________________________

CS Electives Examples (based on Fall2022 offering) :


Introduction to Data Science
Introduces Data Science and covers Data Science Overview, Data Science Tools &
Applications, Data Wrangling, Data Analysis, Data Visualization, Statistical Modeling and
Predictive Modeling. Uses either Python or R Programming.
Useful for careers as Data Analyst, Data Scientist, Data Engineer, Machine Learning Engineer,
Research Scientist and Artificial Intelligence Developer etc. It can be used for solving problems,
doing predictions/detections/estimations and automating things in many fields and real-world
applications.
Web Technologies
Includes Web Development related topics like Web Architectures, Web Platforms, HTML, CSS,
Server-side technologies, Client-side scripting, Web APIs, Databases in Web Apps, PHP and
Javascript frameworks, Web Hosting, SEO and Security.
Useful for Web Development, SEO and working on software projects involving Web Apps and
Web APIs.
Machine Learning
Teaches Machine Learning overview, types and algorithms, which is about making programs
learn from data. It introduces Supervised Learning, Unsupervised Learning, Reinforcement
Learning and Deep Learning, and covers algorithms like Linear Regression, Logistic
Regression, Decision Trees, LDA, SVM, Neural Networks and Clustering. Also includes model
evaluation and algorithms comparison. Uses Python.
Useful for careers as Data Scientist, Machine Learning Engineer, Research Scientist and
Artificial Intelligence Developer etc. It can be used for solving problems, doing
predictions/detections/estimations and automating things in many fields and real-world
applications.
Game Development
Teaches Game Design and Game Development using Unity. It covers topics like Game
Development Overview, Game Design & Gameplay, Game Engines and Unity, C#
Programming, Scenes and Game Objects, Lighting, Game Characters, Difficulty Balance, Game
UI Design, Sound, Animation, Movement & spawning and Game AI.
Useful for a career as a Game Developer. Also helpful in AR/VR, Simulations, Visualizations,
Animations and some AI areas.
Mobile Application Development
Teaches Mobile Application Development using React Native and Javascript. Includes topics on
Mobile App Development platforms and architectures, React Navigation, Persistent Storage,
Server communication using APIs, State Management & Redux, Mobile Sensors, common APIs
and Mobile App publishing etc.
Useful for a career as a Mobile App Developer.
Digital Image Processing
Deals with processing images through algorithms. Includes topics like Digital Images, Image
Transformations, Image Enhancement & Restoration, Thresholding, Edge Detection, Contours,
Filtering and Convolutions, Shape Representation & Description, Image Segmentation,
Morphological operations, Image Compression and Frequency Domain analysis. Uses either
Python or MATLAB.
Provides foundations for Computer Vision. Useful for careers as Computer Vision Engineer,
Data Scientist, Machine Learning Engineer, Research Scientist and Artificial Intelligence
Developer etc.
Computer Vision
Introduces Computer Vision, which is about dealing with images and making computers see by
recognizing things in images. It includes overview of Computer Vision, Digital Image Processing,
Feature Detection & Matching, Object Recognition, Multiple Views, 3D Vision, Motion Analysis,
CNNs and Deep Learning for Computer Vision. Uses Python.
Useful for careers as Computer Vision Engineer, Data Scientist, Machine Learning Engineer,
Research Scientist and Artificial Intelligence Developer etc. It can be used for solving problems,
doing predictions/detections/estimations and automating things in many real-world applications.
Computational Intelligence
Teaches about Intelligent Systems related topics like Self-Organization, Fuzzy Logic,
Evolutionary Computing & Genetic Algorithms, Optimization algorithms, Logic, Rule-based
reasoning and Neural Networks.
Useful in Artificial Intelligence and Data Science related careers, and in problem-solving,
optimization and operations research.
Computer Graphics
Teaches the mathematical and algorithmic concepts behind Computer Graphics and
visualization. Includes topics like Vector and Raster Graphics, Graphics Pipeline & Modeling, 2D
and 3D Geometric Transformations, Color Models, Clipping & Viewing, Camera concepts,
Lighting & Illumination models, GPU, Shading & Shaders, Rendering, Material Properties,
Display Systems, Animation, AR/VR, Geometric Modeling, Surfaces, Splines and Curves.
Useful in Game Development, AR/VR, Simulations, Image Processing, Robotics, Visualizations
and Animation.
Data Warehousing and Data Mining
It's about managing and using data through a data warehouse and extracting patterns and
insights from it using data mining. It includes topics like Data Warehouse Architectures,
Dimensional Modeling, Online Analytical Processing (OLAP), Extract Transform Load (ETL),
Data Mining Overview, Data Cleaning, Classification & Regression and Clustering Algorithms.
Useful for a career as a Data Engineer, Business Intelligence Developer, Data Analyst, Data
Scientist or Machine Learning Engineer.
Game Engine Development
Teaches about the design and architecture of game engines, used for developing games.
It covers topics like Game Engines fundamentals, Tools and Assets Pipelines, Parallelism &
Concurrency, Low-Level Engine Systems, Game Loop & Real-Time Simulations, Human
Interface Devices, Rendering Engine & Animation Systems, Physics Engine, Gameplay and
Audio.
Helpful in Game Development and Simulations.

You might also like