School of Computing

The School of Computing at the Karachi Institute of Technology and Entrepreneurship incorporates the logical and computational education at the core of any good computer science program, with a well-rounded curriculum of social sciences, while also focusing on developing students’ entrepreneurial skills.

The School of Computing aims to produce graduates with a thorough grasp of the fundamental concepts in computer science, and their applications. Furthermore, as a part of KITE’s ecosystem, the School will require graduates to explore other disciplines, such as the fundamentals of business, the social sciences and design concepts, and help them launch their own ideas and ventures while at the University.

Programs at the School will include coursework, labs and project-based learning and offer both a theoretical and practical grounding in computer science, as well as depth of knowledge in specialized fields. Students will acquire a strong foundation in math, physics, programming languages, software engineering, computer architecture and data structures and algorithms. They will also gain insight into the practical issues of building and maintaining effective computer systems and databases for different industries. Information security and networks, human-computer interaction and artificial intelligence are other components of the program.

View the Fee Structure and Scholarship information

Your web browser doesn't have a PDF plugin. Instead you can click here to download the PDF file.

Year 1 Semester 1

Course Code Subject Course Description


Introduction to Programming

This is a project-based course in the Python language, which is quickly becoming very popular. The aim is to familiarize students with the basics of structured programming. The students would also learn how to use iterative and recursive techniques to solve simple problems. Topics include: Loops, conditions, arrays, files, introduction to Algorithms, sorting and recursion. A highlight of this course is that the students would get an easy introduction to Object Oriented Programming.


Introduction to Computer Science

We would first give an overview of how the computer system works: hardware + operating system. Then we will see the breadth of applications of a computer system – Databases, Internet, Games, Artificial Intelligence and more. Lastly we would learn how to solve problems on a computer: computational thinking. This part is an introduction to how to analyze a problem and devising a step-by-step procedure to solve it (algorithms). The course includes writing simple programs.


Calculus - I

Students would understand how calculus and geometry naturally arise in problems: scientific problems, social research, data analysis Artificial Intelligence and more. They would learn some techniques to solve them. In essence these techniques are: (I) Differentiation: computing rate-of-change of a function. (II) Integration: areas and volumes under functions. (III) Approximation using series expansion. (IV) Computing the shortest distance and projections between objects. Students will also use Excel to explore the behavior of functions


English - I

This is a basic rhetorical and writing course. It aims at improving the students’ speaking, presentation and writing skills and raising their awareness about various aspects of the English language. The teaching focuses on elements of English style, proper referencing, grammar and English usage and oral communication in English, so that the students may communicate correctly and efficiently in an academic context. The course would enable the students to learn about basic reading, writing, paraphrasing and summarizing techniques, and the importance of good referencing.


Islamic Studies

The course aims at equipping the students with the knowledge and skills that will enable them to have an in-depth study of the religion and civilization of Islam, and enhance their understanding of other major religions by discussing their basic teachings and providing a historical overview of their practices. In addition, the course would focus on the transformative role of religion in the societies, discuss the role of religious movements in this context, encourage a study of the challenges being faced by the contemporary Muslim societies in particular and explain as to how to deal with such challenges.


Urdu: Language, Literature & Society

This course aims at enabling the students to develop the art and craft of reading, writing and communicating in Urdu language. Urdu is an international language as well as the national language of Pakistan. It also ideally serves as a bridge language, as lingua franca, in our land of many languages and dialects. It emphasizing that the currents, cross-currents and under-currents of Pakistan’s history, culture, politics, religion and sociology cannot be appreciated fully if a reasonable comprehension of Urdu language is missing. This course intends to introduce landmark studies of history, politics, culture, Sufism, and literature produced in Urdu in South Asia in general and in Pakistan in particular.

Year 1 Semester 2

Course Code Subject Course Description


Object Oriented Programming

Consider a hospital software system with objects such as doctors, patients and rooms. Code organized in terms of objects therefore represents a more accurate picture of the real world, and becomes easier to manage and write. Topics include writing programs with objects and classes using Java. We would also learn how to make class diagrams using UML (Unified Modeling Language), which is used to build a mode of our code before we start coding.


Probability and Introduction to Statistics

We will learn how uncertainties come about in many problems (e.g. in decision theory), and apply probabilistic and statistical analysis to solve them. In many cases, we want to make predictions. This includes: (a) Analyzing statistics of past data. (b) Next, assigning a reasonable probability distribution to the data. (c) We can now ask interesting questions about the distribution, and compute their answers. We will also use EXCEL, and the statistical language, ‘R’.


Logic and Discrete Mathematics

What do we mean when we say: “Your argument is incorrect”? Given an argument (in English or Mathematics), we will learn how to identify the assumptions that are being made, and conclude whether the argument is correct given the assumptions. This is how we analyze arguments not just in English, but also in mathematics. We will then study some discrete structures in mathematics: Boolean Logic, discrete probabilities, game theory and graphs.


Linear Algebra

The course introduces linear mappings, which appear in many areas of Computer Science. We will analyze these mappings using matrices. Techniques of analysis include: computing determinants, and diagonalizing the matrix using Eigenvectors. We will see some powerful applications of linear algebra such as: Predicting events using Markov Chains, and how a firm may compute the selling price for its various products that will give the greatest profit: the Simplex method.


Pakistan Studies

This course is essentially an introduction to Pakistan. It aims at enabling the students to have a deeper knowledge of the country’s geography and geopolitics in a significant strategic environ, its history encompassing the significant features of the past thousands of years, its religion, culture, tradition and people speaking different languages and mingling and conflicting in a multicultural milieu, the country under the Muslim rule and British colonial rule and the movement for Pakistan


English - II

This is a course on business writing, speaking and negotiating in the English language. It examines writing in a business context, and encourages students to learn to write in business language, get acquainted with the format and design of documents, and respect and appreciate the ethical aspects of business writing. It also explains as to how to effectively communicate a company’s position, statement or testimony to the press, public and private organizations, and enable the students to learn to apply speaking, writing and interpersonal skills when discussing corporate identity and philanthropy, organization’s image and investor relations.

Year 2 Semester 3

Course Code Subject Course Description


Digital Logic Design

We will learn about logic gates (AND, NOT, OR) and simple circuits based on these gates. Given a desired output of a logic circuit, the students would be able to model combinatorial circuits using logic gates, PLAs and flip flops. The students would learn about the use of these gates and circuits in computer architecture. A highlight is that the students would learn to model digital circuits using VHDL (a hardware description language).


Calculus - II

This is multivariable calculus, which is of essential importance including in Artificial Intelligence, planning and decision making. We will extend the techniques of single variable calculus such as differentiation and integration, to functions of several variables. The purpose is the same (finding maximum/minimum, volume under the function etc), but it requires some knowledge of matrices and linear algebra. Students will see the application of multivariable calculus to planning and optimization algorithms in computer science.


Physics: Mechanics and Electromagnetism

This is more than a science literacy course. To understand and predict nature, we sometimes develop programs that model reality. We therefore need to understand how nature works. Mechanics and Electromagnetism explain nearly everything visible to the naked eye. We will also cover their applications in Computer Science. Some other applications include: Mechanics is used to animate characters in computer games in a realistic fashion. Some algorithms in AI are also inspired by physics.


Data Structures and Algorithms

This is the third course on imperative programming, and is conducted in C++. Computer programs access and process data. Depending on the purpose, a certain way of structuring and ordering this data could make the processing easier and faster. (How would you store a long list of students, or the coordinates of cities?). These are called data structures. Topics include: Lists, queues, stacks, heaps, graphs and trees, and the algorithms that process these data structures.


Introduction to Entrepreneurship

This is KITE’s signature entrepreneurship core course which teaches students the art and craft needed to become an entrepreneurial leader. The aim of this course is to focus on entrepreneurial leadership which goes far and beyond just forming start-up ventures. Experiential learning, case studies, student activities, games and guest speaker sessions are the teaching methodologies of this course. The students are taught on how to think and act entrepreneurially by applying newly researched theories of entrepreneurship. They are taught on how to develop an understanding of one-self and the society / community around them through a process based approach and how they can leverage on that understanding to create and innovate something of value which can be socially, environmentally and economically viable and sustainable

Year 2 Semester 4

Course Code Subject Course Description


Computer Organization and Assembly Language Programming

Students would understand how key components of a computer come together to work: The Arithmetic and Logic Unit (ALU), the registers, the memory, the clock and more. The students would also get introduced to Assembly Language Programming which would further clarify the concepts. This is because Assembly Language directly interacts with the registers of the computer. The course includes parallel architecture. That is, organization of those computers that include multiple processors.


Database Systems

Database systems store and organize huge swathes of data, so that queries can be answered efficiently. Imagine a hospital system. Each doctor’s history would include several cases, with each of these cases itself being a detailed file. How should we organize this and much more data, to efficiently answer questions about doctors? Topics include: Entity-Relationship diagrams, normalization, making and querying a database using SQL (Structured Query Language), connecting to a database through a programming language.


Design and Analysis of Algorithms

This is the soul of computer science. One program may take years, while another one a fraction of a second to answer same problem. The difference is in the ‘algorithm’ – the stepwise procedure given to the computer. We would learn how to analyze the efficiency of an algorithm, and how to think and plan efficient algorithms for certain problems. Topics include: Analysis of Algorithms, Greedy Algorithms, Dynamic Programming, P-NP paradigm and other selected topics.


Introduction to Electronics

This course completes the hardware picture of the computer: Physics -> Electronics -> Digital Logic Design -> Computers. Topics include studying key electronic component such diodes, transistors, op-amps and capacitors. We would learn to analyze and predict of the behavior of linear and non-linear circuits. A highlight is that students would also be introduced to Arduino, which is a chip that can be programmed to make your own nifty devices, like stop-watch, LEDs and more.


Political thought & Political action

This course is divided into two parts. The first is an exploration of influential political thought and key political concepts that have influenced political thinking and political action in different eras and in different influential societies; and the second is a study of politics in action in different periods and in different parts of the world. The course proceeds by introducing modern political ideologies (liberalism, socialism, conservatism, Marxism, anarchism, nationalism, political Islam). It also studies the key concepts like rights, liberty, justice, equality and power, concepts which are the key concepts of politics and which have ignited great political movements for the transformation of societies.

Year 3 Semester 5

Course Code Subject Course Description


Operating Systems

Operating system makes a computer usable by humans. Examples are: Windows, Mac OS, Linux and others. Sitting between hardware and the user, it manages computer resources, and provides an interface for the user. It is the operating system that shows the movement of the mouse as an arrow on the screen. On a double click, the operating system runs the relevant program, etc. Topics include: Process, File and Memory Management; Parallel and Distributed Operating Systems.


Computer Networks

Network communications occurs at various layers. Communicating software gives the data and destination address to the operating system, which then sends packets of information to the network card, and this card sends it across the network. The routers in the global network then look at the destination address in the packet to send it in the right direction. Topics include: Communication protocol, addressing, routing and congestion problems, and how to make network applications (Socket programming).


CS Elective - I


Artificial Intelligence

AI aims at making programs that ‘behave intelligently’. Imagine making a good move in chess; we need to search through the options and plan a good sequence of actions. We will learn: 1. Planning Programs: (a) Searching: A*, local search, steepest descent and more (b) Using constraints of the problem for speedier search. 2. Introduction to Machine Learning: Looking at past data and inferring a pattern. Then using the pattern to predict the future.


Computer Graphics - I

This shared core-course introduces students to the industry-standard tools of publication and digital media design. Students will implement production workflows, make layouts, edit images and create a portfolio of projects that can be built upon in subsequent courses. The objective is for the student to achieve confidence when designing materials for publication and marketing support. Students will use new media terminology and learn to for design for the publication and online media.


Digital Marketing

This course enables students to learn about the principles, theories and practices of marketing in a digital context. Apart from learning about the traditional marketing theories, students learn experientially about testing their ideas / products / venture in the context of effectuation theory of entrepreneurship. Students will be taught on how they can market their product through cost effective means such as social media and other digital platforms

Year 3 Semester 6

Course Code Subject Course Description


Automata Complexity and Dealing with it

Automata Theory studies the computational models behind computers. Computers are just a physical realization of some models developed earlier. Topics include DFA, NFA, and Turing Machines. We then study ‘complexity’: The types of problems that are solve efficiently with these models, and those that are not. Topics include the P-NP paradigm. Now what if the problems are hard to solve? Can we at least give an approximate answer? Topics include: Randomized and Approximation Algorithms.


Web Application Development

Developing web applications has become an indispensable skill. They are everywhere, for example online games are web applications. A web application interacts via web pages and takes user inputs. Depending on these inputs it could dynamically change the contents of the web pages. This could include fetching relevant information from files and database to display them. We will learn: HTML to make web pages; JavaScript to make dynamic web pages; and making Web Servers.


CS Elective - II


CS Elective - III


User Experience Design

This shared core course will demonstrate design research through UX methods and case studies. Students will learn how to prototype and evaluate for different personas for their products and services. User and Human-centered design methods will be used to create deliverable mockups, paper and interface prototypes for improving the consumer experience.


Liberal Arts Elective

Year 4 Semester 7

Course Code Subject Course Description


Software Engineering

In developing large software with potentially millions of lines of code, we have to understand the problem and plan the solution, before writing computer code. Some steps involved in software Engineering are: (a) Communicating with the customer to understand the ‘requirements’ of the software (b) Designing it (c) Writing code (d) Testing it to verify that it works. These steps are not always strictly in this order. We will study various models of software Engineering.


CS Elective - IV


Senior Project

Capstone Project


Interaction Design

This course is an introduction to concepts, methods, and technologies employed in the design of interactive media. Subjects of study include defining user and site requirements, managing information complexity, and designing visual interfaces that are usable and testable. The course takes an inter-disciplinary approach drawing upon product design, visual communication, information architecture, cognitive psychology and computer science to design multi-modal expressive interfaces, enriching user experience for products and services.


Entrepreneurial Finance

This course develops students overall understanding on how to read, use and interpret financial statements for decision making purposes. The purpose of this course is NOT to teach students the principles or standard of accounting rather equip them with overall understanding of financial statements from an entrepreneur’s perspective. The students are taught various financing options available to them to fund their venture, how they are supposed to manage growth of a growing venture, how founding teams and partnerships deals with distribution of stakes, how to manage working capital or financial business model etc.

Year 4 Semester 8

Course Code Subject Course Description


Numerical Computing

When mathematical problems are almost impossible to solve, we can still give approximate answers. For example to compute the integral of a complicated function, we could numerically approximate the area under the curve. Topics include: 1. Simple numerical algorithms: Solving equation, Numerical integration, Polynomial Interpolation. 2. Error analysis: How the error in the final solution, depends on the errors in the intermediate steps. 3. Numerical Linear Algebra. We would program numerical algorithms in MATLAB.


CS Elective - V


CS Elective - VI

Capstone Project


Senior Project

Capstone Project


Art of Storytelling and Pitching

Having an idea which has a potential to become ‘a next big thing’ is one thing and articulating and presenting it to someone within certain time constraint in another. This course teaches the students on how to make an effective, concise and powerful pitch to potential investors, co-founders, partners etc. In this highly competitive market, you normally get one shot at the potential investor or a group to describe your project or idea with passion. On top of it, you are supposed to present in front of people who are used to meet people like you day in and day out. So it takes special art and practice to make yourself and your project stand out from the crowd in 5 – 10 minutes of your pitch. This requires serious skills and practice which this course aims to focus on. The art of mixing storytelling, humor, emotions etc in your pitch are also part of this course