Course code: CS102 Credit: 5 (3L-1T-2P-0S-5C)

15
Course code: CS102 Credit: 5 (3L-1T-2P-0S-5C) Course name: Data structures Prerequisites: C Programming About this course: This course covers the fundamentals of data structures, abstract concepts, and how these concepts can be used to solve problems. Data structures such as linked lists, stacks, queues, trees, and graphs will be encountered by the student. In addition, the course will assist the student in comprehending various searching and sorting techniques, among other things.

Transcript of Course code: CS102 Credit: 5 (3L-1T-2P-0S-5C)

Course code: CS102 Credit: 5 (3L-1T-2P-0S-5C)

Course name: Data structures

Prerequisites: C Programming

About this course: This course covers the fundamentals of data structures, abstract concepts, and how these conceptscan be used to solve problems. Data structures such as linked lists, stacks, queues, trees, and graphswill be encountered by the student. In addition, the course will assist the student in comprehendingvarious searching and sorting techniques, among other things.

Course code: CS104 Credit: 5 (3L-1T-2P-0S-5C)

Course name: Problem solving through programming

Prerequisites: NA

About this course:The course aims to provide exposure to problem solving through programming. It aims to teach thestudent the basic concepts of the C/C++/Java/Python/any other - programming language. Thiscourse involves a lab component that is designed to give the student hands-on experience with theconcepts.

Course code: CS106 Credits: 4 (3L-0T-2P-0S)

Course name: Microprocessors and Microcontrollers

Prerequisites: NA

About this course: This course outlines the internal architecture of AVR microcontroller, the concept of addressingmodes, and the instruction set. Also, it establishes a foundation of assembly language programmingand AVR Programming in C. The students get involved in developing and executing modularassembly-level / C language programs for AVR.

Course code: CS201 Credit:4(3L-1T-0P-0S-4C)

Course name: Discrete mathematics

Prerequisites: NA

About this course:This course provides students with an overview of discrete mathematics. Students will learn abouttopics such as set theory, laws of logic, groups, coding theory, and the other important discretemathematical concepts.

Course code: CS202 Credit: 5 (3L-1T-2P-0S-5C)

Course name: Design & analysis of algorithms

Prerequisites: Programming in C, Data structures

About this course:This course introduces formal techniques for supporting algorithm design and analysis, with anemphasis on both the underlying mathematical theory and practical efficiency considerations.Topics include the divide and conquer techniques, greedy paradigm, shortest path algorithms,backtracking, and recursive backtracking.

Course code: CS204 Credit: 4 (3L-0T-2P-0S-4C)

Course name: Operating systems

Prerequisites: Programming in C, Computer architecture, Data structures

About this course:This course provides an established, convenient, and efficient interface between user programs andthe bare hardware of the computer on which they run. The course will begin with a brief historicaloverview of the evolution of operating systems, followed by a discussion of the major componentsof most operating systems. This discussion will cover the tradeoffs that can be made betweenperformance and functionality during the design and implementation of an operating system. Thethree major OS subsystems: process management (processes, threads, CPU scheduling,synchronization, and deadlock), memory management (segmentation, paging, swapping), and filesystems; and the security and protection are given the prominence.

Course code: CS207 Credit: 4 (3L-0T-2P-0S-4C)

Course name: Object oriented programming

Prerequisites: Problem solving through programming

About this course:This course will provide the students with a solid theoretical understanding of, as well as practicalskills in object-oriented programming. Practical skills will be learnt using theC++/Java/Python/R/any other programming languages. The main aim of this course is to make itpossible for students to deal with complex programming problems and to use object orientedprogramming to ease the design and implementation process.

Course code: CS208 Credit: 4(3L-0T-2P-0S-4C)

Course name: Computer architecture

Prerequisites: Microprocessor and Microcontroller

About this course:This course is an introduction to computer systems organization, low-level programming and thehardware/software interface. Topics include instruction sets, computer arithmetic, datapath design,data formats, addressing modes, memory hierarchies including caches and virtual memory, I/Odevices, and multicore architectures.

Course code: CS209 Credit: 4 (3L-0T-2P-0S-4C)

Course name: Software engineering

Prerequisites: Problem solving through programming

About this course:This course covers the concepts of software construction with a basic understanding of whatsoftware engineering is and the difference between traditional process models and agile models. Italso discusses how agile methods have made software engineering reduce the time to market asoftware product. The course also deals with requirement engineering, architectural design, userinterface design and deals with some aspects of how a software product is tested. It also coverssome aspects of project management which deals with how a project is managed and how resourcesare used efficiently and how profit is gained.

Course code: CS210 Credit: 5 (3L-1T-2P-0S-5C)

Course name: Database management systems

Prerequisites: Introduction to programming language, Data structures

About this course:This course explains the concepts of data modeling and database management systems, includingrelational database management systems. Also, the course helps the students to understand thedesign data models, populate the relational database and formulate SQL queries using tools andDBMS packages. The course also emphasizes how to create, organize, store and retrieve – dataefficiently and effectively using Normalisation techniques, ACID properties, and Queryoptimization techniques.

Course code: CS211 Credit: 4 (3L-1T-0P-0S-4C)

Course name: Theory of computation

Prerequisites: Data structures, Discrete mathematics

About this course:This course introduces the theory of computation through a set of abstract machines that serve asmodels for computation - finite automata, pushdown automata, and Turing machines - and examinesthe relationship between these automata and formal languages. Additional topics beyond theautomata may include deterministic and nondeterministic machines, regular expressions, contextfree grammars, undecidability, and NP-completeness.

Course code: CS03 Credits:5 (3L-1T-2P-0S-5C)

Course name: Computer networks

Prerequisites: NA

About this course: This course introduces computer networks, focusing on the architecture of the internet andprotocols. Topics include layered network architectures, addressing, naming, forwarding, routing,communication reliability, the client-server model, web and email protocols.

Course code: CS304 Credit: 4 (3L-1T-0P-0S-4C)

Course name: Artificial intelligence

Prerequisites: NA

About this course:This course provides a strong foundation of fundamental concepts in artificial intelligence. Also, itimparts an introductory exposition to the goals and methods of artificial intelligence. The coursewill assist the student apply these techniques in applications that involve perception, reasoning, andlearning.

Course code: CS307 Credit:4 (3L-0T-2P-0S-4C)

Course name: Machine learning

Prerequisites: Calculus

About this course:This course intends to equip students with basic mathematical and statistical techniques commonlyused in machine learning. Also, it introduces the students to a variety of machine learningalgorithms. The course also enables students to apply machine learning concepts to real-lifeproblems.

Course code: CS309 Credit: 4(3L-1T-0P-0S-4C)

Course name: Statistics for computer science

Prerequisites: Working knowledge of introduction to probability and statistics and linear algebra is required. Somefamiliarity with the basics of optimization and algorithms is also recommended.

About the course:This course provides an exposure to the students to the basic concepts of probability and statisticalmethods and their application. Also, the course serves as a foundation to analyze problems incomputer science applications through statistical testing methods.