ahmedabad university school of engineering and applied science · cse discrete mathematics (3-0-3)...

13
Major in COMPUTER SCIENCE AND ENGINEERING 1 Ahmedabad University School of Engineering and Applied Science Bachelor of Technology programmes The Bachelor of Technology programmes are the entry level for education and career in engineering and technology. A minimum academic preparation at the level of 12 th standard physics, chemistry and mathematics is required. The curriculum provides wholesome education with in-depth focus on an engineering major alongside breadth via a strong multi-disciplinary engineering foundation, and in humanities and social sciences. Team-work, design, learning-by- doing, project-based learning, developing communication skills, awareness of societal issues and lifelong learning abilities are strongly emphasized. Sustainability is a common theme. The education will also provide a strong base for undertaking higher studies in engineering and technology, pursuing a career and becoming an entrepreneur, amongst others. Classroom instruction is strongly augmented with laboratory work and use of associated software packages. School of Engineering and Applied Science offers three majors, at bachelor’s level, viz., Chemical Engineering, Computer Science and Engineering, and Mechanical Engineering. Major in Computer Science and Engineering Curriculum Structure The Computer Science and Engineering undergraduate program objectives are as under: Programme Objectives Sound knowledge of fundamentals of computer science and engineering including software and hardware. Enable students with strong analysis, design, development, implementation and testing skills to formulate simple to complex computing solutions to solve the business and societal needs. Use various programming languages, tools and technology supporting modern software frameworks for solving problems having large volume of data of various domains.

Upload: others

Post on 13-Mar-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Ahmedabad University School of Engineering and Applied Science · CSE Discrete Mathematics (3-0-3) Basic discrete mathematical structures: sets, relations, functions, sequences, equivalence

Major in COMPUTER SCIENCE AND ENGINEERING 1

Ahmedabad University

School of Engineering and Applied Science

Bachelor of Technology programmes

The Bachelor of Technology programmes are the entry level for education and career in

engineering and technology. A minimum academic preparation at the level of 12th standard

physics, chemistry and mathematics is required. The curriculum provides wholesome education

with in-depth focus on an engineering major alongside breadth via a strong multi-disciplinary

engineering foundation, and in humanities and social sciences. Team-work, design, learning-by-

doing, project-based learning, developing communication skills, awareness of societal issues and

lifelong learning abilities are strongly emphasized. Sustainability is a common theme. The

education will also provide a strong base for undertaking higher studies in engineering and

technology, pursuing a career and becoming an entrepreneur, amongst others. Classroom

instruction is strongly augmented with laboratory work and use of associated software packages.

School of Engineering and Applied Science offers three majors, at bachelor’s level, viz., Chemical

Engineering, Computer Science and Engineering, and Mechanical Engineering.

Major in Computer Science and Engineering

Curriculum Structure

The Computer Science and Engineering undergraduate program objectives are as under:

Programme Objectives

• Sound knowledge of fundamentals of computer science and engineering including software and

hardware.

• Enable students with strong analysis, design, development, implementation and testing skills to

formulate simple to complex computing solutions to solve the business and societal needs.

• Use various programming languages, tools and technology supporting modern software

frameworks for solving problems having large volume of data of various domains.

Page 2: Ahmedabad University School of Engineering and Applied Science · CSE Discrete Mathematics (3-0-3) Basic discrete mathematical structures: sets, relations, functions, sequences, equivalence

Major in COMPUTER SCIENCE AND ENGINEERING 2

Introduction to the major including why major in that discipline

The core courses of computer science and engineering are basic electronic circuits, data

structures, digital design, operating systems, database management system, computer

organization, computer architecture, algorithm design, computer networks, embedded system

design, and models of computation. The curriculum design philosophy truly utilizes the multi-

disciplinary nature. These courses enable students to develop the expertise as well as widen their

competence and global perspectives in the areas of Data Science, Cyber Physical Systems,

Intelligent Systems, and Theoretical Computer Science.

The Computer Science and Engineering program combines a rigorous education in computer

science with added emphasis on the physical and architectural design of modern computer

system. Based on the breadth of computer science and computer engineering, our graduates will

be able to address design, develop and deploy computing systems across the hardware-software

spectrum.

Philosophy of the Major

The guiding philosophy of the B.Tech. programme with major in Computer Science and

Engineering at Ahmedabad University is distinct in many ways. Our students go through

university and engineering foundation courses. These foundation courses give broader

perspective and ensure that the students have core basic skills, such as, effective communication,

programming, data analysis as well as ability to think critically. We encourage learning by doing.

Student projects and research are strongly emphasized. Students have the opportunity to engage

in research with some faculty or with someone in industry early-on to gain in-depth

understanding and acquire skills in specific areas. We keep our programmes in sync with current

technologies. Several of our elective courses focus on skill-sets and know how that are in current

demand.

Page 3: Ahmedabad University School of Engineering and Applied Science · CSE Discrete Mathematics (3-0-3) Basic discrete mathematical structures: sets, relations, functions, sequences, equivalence

Major in COMPUTER SCIENCE AND ENGINEERING 3

Structure of the Major including any requirements

Foundation Programme 12

General Education Requirements 30

Engineering Foundation 27

Internship (3) + Capstone Project or Thesis (3+3)

OR

Industry Project (off-campus)

9

15

Branch Core (CSE) 42.5

Branch Elective (CSE) 12

Free Elective 3

TOTAL Credits:

For students doing Internship and Capstone / Thesis

OR

For students doing Industry Projects in semester 8

135.5

141.5

Learning Outcomes of the Major

At the successful completion of the program the student will be able to

• Apply knowledge of computing and mathematics to design and analyze algorithms to solve

problems and verify correctness of hardware and software systems.

• Apply mathematical foundations, algorithmic principles, and computer science theory in the

modeling and design of computer-based systems in a way that demonstrates

comprehension of the tradeoffs involved in design choices.

• Design, implement, and evaluate a computer-based system, process, component, or

program to meet desired needs.

• Implement algorithms in various programming languages

• Design and analyze various computer architectures and networks

• Function effectively on teams to accomplish a common goal.

• To appreciate and develop basic functionalities of database systems and operating systems

for various applications.

Page 4: Ahmedabad University School of Engineering and Applied Science · CSE Discrete Mathematics (3-0-3) Basic discrete mathematical structures: sets, relations, functions, sequences, equivalence

Major in COMPUTER SCIENCE AND ENGINEERING 4

• To appreciate modern trends and technologies such as internet of things, artificial

intelligence, cloud computing and visual analytics.

• Appreciate techniques for studying issues in social sciences.

• Appreciate human values in product design.

Core Courses, Electives, Thesis/Capstone: titles and brief

descriptions

EFC Physics – 1 (3-0-3)

Topics include Coulomb’s law, Electric fields, Gauss’s law, Electric potential, Capacitance,

Current and resistance, Circuits, Magnetic fields, Magnetic fields due to currents, Induction and

inductance, Electromagnetic oscillations and Alternating current, Atoms, Conduction of

electricity in solids, Semiconductors and doping, P-N junction and transistor.

EFC Physics – 2 (3-0-3)

Topics include Measurement, Motion along a straight line, Vectors, Motion of two and three

dimensions, Force and motion, Kinetic energy and work, Potential energy and conservation of

energy, Center of mass and linear momentum, Rotation, Rolling, Torque and angular

momentum, Equilibrium and elasticity, Gravitation, Temperature, heat and the first law of

thermodynamics, The kinetic theory of gases, Entropy and the second law of thermodynamics.

EFC Signal and Systems (3-0-3)

Topics include Discrete time signals and systems, Sampling and Quantization, Convolution and

Correlation, Discrete time Fourier Series, Discrete time Fourier Transform, the z-Transform,

Filter concepts, DFT &amp, FFT, Adaptive filters, Applications.

EFC Basic Electronic Circuits (1.5-3-3)

Topics include Introduction, Voltage and current sources, Circuit theorems, Time domain and

Frequency domain concepts, Bode plots, Rise time bandwidth relationship, Operational

Amplifiers, Linear ICs, Linear Op Amp Circuits, Filters, Nonlinear op amp circuits, Oscillators,

Regulated power supplies, Transducers, Electronic switches, and Introduction to digital circuits

EFC Computer Programming (1.5-3-3)

Introduction to problem solving methodologies and top-down problem solving. Introduction to

Java / Python language, including functions, arrays, standard libraries, classes and objects. Basic

Page 5: Ahmedabad University School of Engineering and Applied Science · CSE Discrete Mathematics (3-0-3) Basic discrete mathematical structures: sets, relations, functions, sequences, equivalence

Major in COMPUTER SCIENCE AND ENGINEERING 5

skills for using standard libraries, user interfaces (AWT), operating system environment - File

I/O, and Basic Data Structures (Lists, Queues, Stacks). Prerequisites: None.

GER Probability and Stochastic Processes

The Probability and Random Process (PRP) is an undergraduate math course aimed at teaching

the fundamentals of probability and random processes to model an uncertainty in human’s

daily life and applied the knowledge gain into the field of engineering like Finance, Biology,

Signal Processing and Communications, Biomedical, Data Analytics, Computer Science etc. The

course is designed to develop the student’s various soft skills like problem-solving, teamwork,

critical thinking, and Monte Carlo simulation framework to model an uncertainty. This course

would cover the axioms of probability, conditional probability, Bayes’ and total probability

theorem, Random variables, Probabilistic distributions, Random processes, Markov chains,

Brownian motion and Poisson point processes.

CSE Programming Lab (0-3-1.5)

Basic Concepts of Object-Oriented Programming Paradigm, Designing Object Oriented

Programs, Arrays and Collections, Static Polymorphism, Inheritance, Exception Handling,

Dynamic Polymorphism, Abstract Class, Interface, Package, Understanding Java / Python

Library, File Handling, Multi-threaded Programming, Event-driven Programming, User Interfaces

and Applets, Prerequisites: Computer Programming

CSE Digital Design (3-2-4)

This course is aimed to prepare students for basic understanding behind the digital circuits and

their design techniques. Topics include Number systems, Digital Logic Gates, Combinational

Design Principles, Timing Hazards, Sequential Design Principles, Designing State Machine,

Feedback Sequential Circuit, Iterative versus Sequential Circuits, Hardware Description

Languages, and Logic families. Prerequisites: Basic Electronic Circuits.

CSE Discrete Mathematics (3-0-3)

Basic discrete mathematical structures: sets, relations, functions, sequences, equivalence

relations, partial orders, and number systems. Methods of reasoning and proofs: prepositional

logic, predicate logic, induction, recursion, and pigeonhole principle. Basic counting techniques;

permutation and combinations. Prerequisites: None.

Page 6: Ahmedabad University School of Engineering and Applied Science · CSE Discrete Mathematics (3-0-3) Basic discrete mathematical structures: sets, relations, functions, sequences, equivalence

Major in COMPUTER SCIENCE AND ENGINEERING 6

CSE Data Structures (3-0-3)

Basic data structures including linked lists, stacks, and queues, advanced structures such as

binary trees, hash tables and graphs. Recursion, Algorithms for Searching and Sorting, Graph

Algorithms. Prerequisites: Computer Programming.

CSE Data Structures Lab (0-2-1)

Use and implementation of basic data structures including linked lists, stacks, and queues. Use

of advanced structures such as binary trees, hash tables and graphs. Object-oriented design

including interfaces, polymorphism, encapsulation, and abstract data types.

Prerequisites: Computer Programming.

CSE Database Management System (3-2-4)

Topics include concepts of data models, entity relationship diagrams, theory of normalization,

database system architecture, database design, transaction management, concurrency control,

relational calculus and algebra, structured query language, query optimization, and

introduction NoSQL.

CSE Embedded System Design (3-2-4)

This course explores the design of Embedded Systems using AVR Microcontrollers, widely used

peripheral devices and C Programming. The internal architecture and features (examples:

timers, interrupts, serial communication, etc.) of ATmega32 microcontroller will be discussed in

detail. The interfacing of ATmega32 with widely used peripherals (examples: LCD Displays, Key-

boards, DC motors, etc.) using C Programming will be performed. Students will work on a team

project to design and build one prototype of an embedded system that may have real life

application. Prerequisite: Digital Design

CSE Programming Language Concepts and Paradigms (3-0-3)

This course introduces foundations of programming language design, Semitics and

implementation. The course addresses the concepts of types, objects and program safety. The

course introduces procedural, functional and logical programming paradigms. After taking this

course, the students will understand and appreciate the concepts that are common across a

variety of seemingly different programming languages and will be able to make right decisions

on the choice of language(s) for a project.

Page 7: Ahmedabad University School of Engineering and Applied Science · CSE Discrete Mathematics (3-0-3) Basic discrete mathematical structures: sets, relations, functions, sequences, equivalence

Major in COMPUTER SCIENCE AND ENGINEERING 7

CSE Computer Organization (3-2-4)

The Objective is to help students learn the fundamental components that organize a computer

and be capable of designing the system on their own. Topics include overview of digital

combinational and sequential circuits, basics of Verilog as a programming language, basic

component of computer, CPU, memory, Input /Output, Von Neumann model and their

interactions, Instruction Set Architecture (ISA), ), Micro-programed Architecture, Concepts of

Hardwired Control, Micro-programed control, Pipelining, Design of an ALU with Verilog, Design

of a Control Unit with Verilog, Memory and CPU interactions, Design of a Scalar processor with

Verilog.

Lab experiments include Fundamental architectural features of a processor, Instruction set and

Assembly programming of the processor, Data path and control logic design aspects of the

microprocessor architecture, Microinstructions, firm ware design and hardwired design of

processor, Design and implement their own scalar processor and implement it on a Field

programmable gate array, Architectural features and applications of an FPGA.

Prerequisites: Digital Design and Data Structures.

CSE Design and Analysis of Algorithms (3-0-3)

Design and analysis of efficient algorithms for sorting, searching, pattern matching, and graph

and network algorithms. Greedy algorithms, dynamic programming and amortized analysis.

Measuring complexity of algorithms, time and storage. NP-complete problems. Prerequisites:

Discrete Mathematics and Data Structures.

CSE Theory of Computation (3-0-3)

This course introduces models of computation that include deterministic and non-deterministic

finite automata, pushdown automata, Turing machines, decidable and undecidable

computation problems. The topics will include the introduction to computational complexity.

Time complexity: classes P, NP, and NP-complete problems and P vs NP problem. Space

complexity: Pspace=NPspace (Savitch’s Theorem). Some open problems in the area will be

mentioned.

CSE Operating Systems (3-0-3)

The course introduces the fundamental concepts of operating system the design issues related

to the development of modern operating systems. Topics include Unix Operating System, Shell

Programming, Process Management, Inter-process Communication, File Systems, Process

Scheduling, Concurrency, Memory Management, Virtual Memory, I/O Management and Disk

Scheduling, Security, Distributed Systems, and Virtualization.

Page 8: Ahmedabad University School of Engineering and Applied Science · CSE Discrete Mathematics (3-0-3) Basic discrete mathematical structures: sets, relations, functions, sequences, equivalence

Major in COMPUTER SCIENCE AND ENGINEERING 8

CSE Computer Networks (3-0-3)

The computer network provides a communication link between independent and standalone

systems to create a homogeneous network. Questions like how this infrastructure work, what

are its design principles etc. would be answered in this course. This course would cover the

Network architecture and protocols, Packet vs. circuit switching, Performance of networks:

delay and throughput, Socket programming, TCP details, variants and analysis, Router

architectures, Link layer, Data center networking and Software defined networking.

CSE Computer Architecture (3-0-3)

Topics include Computer Systems and technology; Instruction Set Architectures and its

components: Registers, Instruction formats, Subroutine call and return; The stack and data

storage: Passing parameters via stack, Memory indirect addressing, Variable length instructions,

Reinventing the CISC; Introduction to SIMD(single instruction multiple data) processing; Cache

memory and Virtual memory: Introduction to Cache, Cache organization, Considerations in

Cache design, Virtual memory and memory management, Main memory; Processor level

parallelism: Flynn’s taxonomy and Multiprocessor topologies, Memory in multiprocessor

systems, Multithreading, Parallel programming; Input output organization: Asynchronous data

transfer, Isolated vs memory mapped i/o, serial communication, priority interrupt, Direct

memory access etc. Prerequisites: Digital Design and Computer Organization.

CSE Software Engineering (3-0-3)

This course teaches the fundamentals of software engineering. These are the set of core skills

needed in a complex software development project. The students will learn the process of

collecting and understanding system requirements, software design techniques, software

development and debugging techniques, and software management techniques. Students will

also get familiarity with software tools that facilitate these.

Undergraduate Thesis / Group Capstone Project

As with all majors at Ahmedabad University, students pursue their own interest with an

undergraduate thesis in Computer Science and Engineering that fits in any of the specified

electives. Alternatively, they can work on a Capstone Project defined and supported by any

industry or Research project supervised either directly by a faculty member or indirectly

through a project at any leading company with prior approval of the program coordinator.

Page 9: Ahmedabad University School of Engineering and Applied Science · CSE Discrete Mathematics (3-0-3) Basic discrete mathematical structures: sets, relations, functions, sequences, equivalence

Major in COMPUTER SCIENCE AND ENGINEERING 9

A sample semester wise distribution of course work

Page 10: Ahmedabad University School of Engineering and Applied Science · CSE Discrete Mathematics (3-0-3) Basic discrete mathematical structures: sets, relations, functions, sequences, equivalence

Major in COMPUTER SCIENCE AND ENGINEERING 10

Credits

No of Courses

Foundation Courses 12 4

Engineering Foundations 24 10

General University Requirements 30 10

Major Core Courses 33.5 12

Major Electives 12 4

BTech / Capstone Project 15

Free Electives 15 5

Internship 3

ISP and Community Project

Total: 144.5 45

Page 11: Ahmedabad University School of Engineering and Applied Science · CSE Discrete Mathematics (3-0-3) Basic discrete mathematical structures: sets, relations, functions, sequences, equivalence

Major in COMPUTER SCIENCE AND ENGINEERING 11

Electives TE1 TE2 TE3 TE4 TE5 TE6 TE7 TE7 TE8

Data Science Optimization

Algorithms for

Big Data

Machine

Learning

Cloud

Computing

Data Analytics

and

Visualization

Blockchain

Technology

Advanced

Statistics

Cyber Physical

Systems

Internet of

Things

Advanced

Security

High

Performance

Computing

Cloud

Computing

Data Analytics

and

Visualization

Wireless

Sensor

Networks

Simulation

and Modelling

Blockchai

n

Technolo

gy

Real Time

Systems

Intelligent

Systems

Artificial

Intelligence

Natural

Language

Processing

Neuro Fuzzy

Systems

Computer

Vision

Expert

Systems

Machine

Learning

Blockchain

Technology

Theoretical

Computer

Science

Complexity

Theory

Approximatio

n and

Randomized

Algorithms

Computation

al Logic

Formal

Methods

Combitorial

Optimization

Graph

Algorithms

Combinatorics

ICT Analog and

Digital

Communication

VLSI Design Wireless

Communicati

on

Machine

Learning

Computer

Vision

Internet of

Things (IoT)

VLSI

Subsystem

Design

Integrate

d Circuit

Devices

andFabri

cation

Technolo

gy

Circuit

Characterisat

ion of VLSI

subsystem

Page 12: Ahmedabad University School of Engineering and Applied Science · CSE Discrete Mathematics (3-0-3) Basic discrete mathematical structures: sets, relations, functions, sequences, equivalence

Major in COMPUTER SCIENCE AND ENGINEERING 12

Description of a Minor in the discipline

Minor in Computer Science and Engineering

For engineering (Mechanical, Chemical), Science (Physics, Life Sciences) students, currently in

their second semester in Winter 2019, who wish to pursue a minor in Computer Science and

Engineering

A minor in Computer Science and Engineering (CSE) will require a student to complete a

minimum of 18 credits of course work in CSE. Students will have to complete six courses in CSE,

out of which four will be from the core courses and two from either core or discipline electives.

Any CSE course offered as elective to CSE majors can also be taken as minor elective.

The core courses are

• Object Oriented Programming Lab

• Digital Design

• Computer Organization

• Database Management System

• Design and Analysis of Algorithms

• Operating Systems

• Computer Networks

• Embedded System Design

• Theory of Computation

• Software Engineering

The electives include

• Machine Learning

• Introduction to Artificial Intelligence

• Internet of Things

• Cloud Computing

• High Performance Computing

Page 13: Ahmedabad University School of Engineering and Applied Science · CSE Discrete Mathematics (3-0-3) Basic discrete mathematical structures: sets, relations, functions, sequences, equivalence

Major in COMPUTER SCIENCE AND ENGINEERING 13

Table below is the recommended semester wise distribution of the above-mentioned courses:

Semester CSE

I Monsoon 2019

II Winter 2020 Object Oriented Programming Lab

III Monsoon 2020 Digital Design

IV Winter 2021 Computer Organization, Design and Analysis of Algorithms, Database Management System

V Monsoon 2021 Operating Systems, Embedded System Design

VI Winter 2022 Computer Networks

VII Monsoon 2022 Theory of Computation