The bachelor’s programme in computer science offers a solid foundation to students with breadth and depth of knowledge in computing. The programme offers rigorous coursework coupled with exposure to a rich set of applications and tools through project based courses, assignments, capstone projects and summer internships. In addition to core courses, students are required to pursue specialisation electives and free electives.

Students majoring in Computer Science are expected to demonstrate:

  • a firm understanding of the basic principles of computer science from the perspective of theory, systems and applications
  • skills to analyse and solve complex computing problems
  • ability to design, development, and support of applications
  • collaborative resolution to complex multi-disciplinary problems
  • decision making skills by weighing ethical and social aspects of modern computing technology
For Admissions 2020, Click here

Course Structure

All incoming undergraduates at Ahmedabad University start with the Foundation programme, an interdisciplinary course that covers fields from Mathematics to Literature through project-based learning.

Core Courses
Discrete Mathematics
Computer Programming Probability and Stochastic Processes
Advanced Data Structures and Algorithms
Computation Structures
Programming Language Concepts and Paradigms
Design and A nalysis of Algorithms Theory of Computing
Computer Systems and Networking
Introduction to Artificial Intelligence
Introduction to Bio-informatics
Theoretical Computer Science
Approximation Algorithms
Complexity Theory
Enumerative Combinatorics and Graph Theory
Network and Combinatorial Optimization
Linear Programming and Stochastic Optimization
Information Theory and Quantum Computation
Software Engineering
Networking and Distributed Computing
Parallel and Distributed Computing
Computer and Network Security
Supply Chain Management
Operations Research
Financial Engineering
Artificial Intelligence
Introduction to Machine Learning
Natural Language Processing
Computer Vision
Neural Networks and Deep learning
Information Retrieval
Introduction to Computational Biology
Introduction to Systems Biology
Algorithms for Pattern Matching
Sequence Analysis: Genes, Proteins and Genomes
Molecular Phylogenetics and Evolution
Statistical Methods in Bioinformatics
Data Science
Linear Algebra and Optimization
Mathematical Statistics
Data Analytics and Visualization
Big Data Analytics
Machine Learning
Computational Science
Advanced Statistics
Natural Language Processing
Computational Social Science
Computational Linguistics
Quantum Computing
Linear Algebra
Information Theory and Quantum Computation
Complexity Theory
Quantum Information Theory
Quantum communication
Quantum electronics

As with all majors at Ahmedabad University, students pursue their own interests with a thesis or capstone project which they complete in their final year.

Sample Course Structure
Semester 1 2 3 4  
I Foundation Programme Statistics Communications Introduction to Programming  
II Foundation Programme Discrete Mathematics Computer Organisation Scientific Computing Programming Lab I
III Data Structures and Algorithms Data Structures Lab Fundamentals of Programming Languages Programming Lab II  
IV Probability and Statistics Design and Analysis of Algorithms Theory of Computation GER (Social Science)  
V Modern Operating Systems Specialisation Elective Specialisation Elective GER (Humanities)  
VI Specialisation Elective Specialisation Elective Free Elective GER (Performing and Visual Arts)  
VII UG Thesis Part I Specialisation Elective Specialisation Elective Free Elective  
VIII UG Thesis Part II UG Thesis Part II UG Thesis Part II UG Thesis Part II  


Barbara Morawska PhD (Computer Science), Clarkson University NY
Unification theory, Description Logics, Ontologies, Algorithms, Complexity analysis
Sanjay Chaudhary PhD (Computer Science), Gujarat Vidyapith
Distributed Computing, Cloud Computing, Blockchain Technology, Data Analytics, and ICT Applications in Agriculture and Rural Development
Shashi Prabh PhD (Computer Science), University of Virginia
Wireless networks, Internet of Things, Cyber-Physical Systems
Srikrishnan Divakaran PhD (Computer Science), Rutgers University
Design and Analysis of Algorithms for problems with applications in Bioinformatics/Computational Biology, Data Sciences, Distributed Systems and Operations Research
Faculty Spotlight

Dr Srikrishnan Divakaran is a theoretical computer scientist with a strong research background in designing algorithms for problems with applications in Bioinformatics, Computational Biology and Combinatorial Optimisation. Computational Biology and Bioinformatics analyse massive amounts of protein and genomic data to in order to provide key insights for solving biological problems. Dr Divakaran’s research is in the design and development of theoretical methods and computational tools for multiple sequence alignment, a key Computational Biology problem for identifying patterns in biological sequences that help to solve fundamental problems in genome mapping, drug design and epidemiology. Combinatorial Optimisation is an interdisciplinary field at the intersection of discrete mathematics, theoretical computer science and operations research that uses mathematical methods to solve optimisation problems using a computer. Dr Divakaran’s research is on the design and analysis of algorithms for solving packing problems, a class of optimisation problems in mathematics that attempt to pack objects together using as few containers as possible. Designing algorithms for many of these packing problems is similar to coming up with strategies for solving 3-D jigsaw puzzles or Tetris-like games. They are useful in solving problems that arise in storage, memory and processor allocation in computer systems, and logistics and supply chain management.

Career Pathways

Students can choose to work in industry or go on to pursue higher studies. Upon completion of higher studies, students can take up senior positions in industry and research laboratories, start their own venture or pursue research and teaching in academic institutions.

There are various areas where students can work, depending upon their interests and vacancies in the market.

Software Developers, Software Testing, Data Architect, Database Developer, Data Modeler, Quality Assurance Associate / Analyst, Mobile Applications Developer, UI/UX DesignerSoftware Quality Assurance (QA), Game Designer, Website/ Mobile Application Designer, Information Technology Auditor, Data Engineer, Data Analyst, Decision Scientist


The Bachelor of Science (Honours) with Majors in Computer Science is open to anyone who has completed class 12 or equivalent with Mathematics.
To know more about the admissions calendar and the selection process - Click here

Your browser is out-of-date!

For a richer surfing experience on our website, please update your browser.Update my browser now!