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

JECRC-__-Kalvium-Program-Detailed-Program-Syllabus

Semester syllabus details

Uploaded by

swethainduri1417
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
24 views

JECRC-__-Kalvium-Program-Detailed-Program-Syllabus

Semester syllabus details

Uploaded by

swethainduri1417
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 70

Index

Index 1
Kalvium Program Scheme 6
Assessment model 9
Detailed Course Syllabus & Assessment Plan 10
Semester 1 10
Front-end web development 10
Introduction 10
Course outcomes 10
Syllabus 10
Assessment plan 11
Text book(s) 11
Reference book(s) 12
Critical thinking 101 12
Introduction 12
Course outcomes 12
Syllabus 12
Assessment plan 13
Text book(s) 13
Reference book(s) 13
Discrete Mathematics 13
Introduction 13
Course outcomes 13
Syllabus 14
Assessment plan 14
Text book(s) 15
Reference book(s) 15
Professional skills for the workplace 15
Introduction 15
Course outcomes 15
Syllabus 15
Assessment plan 16
Text book(s) 16
Reference book(s) 16
The breadth of computer science 1 17
Introduction 17
Course outcomes 17
Syllabus 17
Assessment plan 17
Text book(s) 18
Reference book(s) 18
Problem solving using programming 18
Introduction 18
Course outcomes 18
Syllabus 19
Assessment plan 20
Text book(s) 20
Reference book(s) 20
Design for developers 20
Introduction 20
Course outcomes 20
Syllabus 21
Assessment plan 21
Text book(s) 21
Reference book(s) 21
Semester 2 22
Learning how to learn 22
Introduction 22
Course outcomes 22
Syllabus 22
Assessment plan 23
Text book(s) 23
Reference book(s) 23
The breadth of computer science 2 24
Introduction 24
Course outcomes 24
Syllabus 24
Assessment plan 24
Text book(s) 25
Reference book(s) 25
Full Stack Web Development 25
Introduction 25
Course outcomes 25
Syllabus 26
Assessment plan 26
Text book(s) 27
Reference book(s) 27
Semester 3 27
Economics, Politics and Rural Society Development 27
Introduction 27
Course outcomes 28
Syllabus 28
Assessment plan 28
Text book(s) 29
Reference book(s) 30
Mathematical thinking 101 30
Introduction 30
Course outcomes 30
Syllabus 30
Assessment plan 31
Text book(s) 32
Reference book(s) 32
Database Management Systems 32
Introduction 32
Course outcomes 32
Syllabus 32
Assessment plan 33
Text book(s) 34
Object Oriented Programming 34
Introduction 34
Course outcomes 34
Syllabus 34
Assessment plan 35
Text book(s) 36
Reference book(s) 36
Semester 4 36
How Human Languages work 36
Introduction 36
Course outcomes 36
Syllabus 36
Assessment plan 37
Text book(s) 37
Reference book(s) 37
Tools and techniques for creative thinking 38
Introduction 38
Course outcomes 38
Syllabus 38
Assessment plan 39
Text book(s) 39
Reference book(s) 39
Operating Systems 39
Introduction 39
Course outcomes 39
Syllabus 40
Assessment plan 40
Text book(s) 41
Reference book(s) 42
Data Structure and Algorithms 42
Introduction 42
Course outcomes 42
Syllabus 42
Assessment plan 43
Text book(s) 43
Reference book(s) 43
Semester 5 44
English LSRW 44
Introduction 44
Course outcomes 44
Syllabus 44
Assessment plan 45
Text book(s) 45
Reference book(s) 45
Principles of Science 46
Introduction 46
Course outcomes 46
Syllabus 46
Assessment plan 47
Text book(s) 48
Reference book(s) 49
Computer Organization & Architecture 49
Introduction 49
Course outcomes 49
Syllabus 50
Assessment plan 50
Text book(s) 51
Reference book(s) 51
Formal Language & Automata Theory 51
Introduction 51
Course outcomes 52
Syllabus 52
Assessment plan 53
Text book(s) 53
Reference book(s) 53
Design & Analysis of Algorithms 53
Introduction 53
Course outcomes 54
Syllabus 54
Assessment plan 55
Text book(s) 56
Reference book(s) 56
Semester 6 56
Discovering Self 56
Introduction 56
Course outcomes 56
Syllabus 56
Assessment plan 57
Text book(s) 59
Reference book(s) 59
Fundamentals of Business Management 59
Introduction 59
Course outcomes 59
Syllabus 60
Assessment plan 60
Text book(s) 61
Reference book(s) 61
Compiler Design 62
Introduction 62
Course outcomes 62
Syllabus 62
Assessment plan 63
Text book(s) 64
Reference book(s) 64
Computer Networks 64
Introduction 64
Course outcomes 64
Syllabus 64
Assessment plan 65
Text book(s) 66
Reference book(s) 66
Semester 7 66
Introduction to Philosophy 66
Introduction 66
Course outcomes 66
Syllabus 67
Assessment plan 67
Text book(s) 68
Reference book(s) 68
Electives 68
Academic Elective #1 68
Academic Elective #2 68
Foundation Elective 68
Assessment plan for Integrated Work 69
Plan to track Progress 69
Progress Report 69
Internship Report 69
Internship Presentation 69
Assessment Methodology 70
Alignment with UGC/ AICTE guidelines 70

Kalvium Program Scheme


The scheme details courses under 4 different cores.
1. Foundation - A set of courses designed taking a liberal approach to help students
develop crucial 21st-century skills.
2. Skilling - Courses oriented toward software engineering-readiness, that start with basic
programming eventually lead to high-level product development.
3. Academic - Courses designed to inculcate strong foundational knowledge in computer
science, these courses are thoughtfully crafted to impart the concepts, their applications,
and practical labs associated with them.
4. Integrated Work - Relevant (paid) work experience in global tech companies where
students gain real-world application development expertise, workplace exposure, and
industry-ready skills.
Semester 1

Core Course Name Credits


Skilling Front-end web development 4
Foundation Critical thinking 101 4
Academic Discrete Mathematics 4
Foundation Professional skills for the workplace 3
Academic The breadth of computer science 1 4
Skilling Problem solving using programming 4
Academic Design for developers 3
26

Semester 2

Core Course Name Credits


Foundation Learning how to learn 4
Academic The breadth of computer science 2 4
Skilling Full Stack Web Development 12
20

Semester 3

Core Course Name Credits


Economics, Politics and Rural Society
Foundation 3
Development
Foundation Mathematical thinking 101 4
Academic Database Management Systems 5
Academic Object Oriented Programming 4
Integrated work with a partner
Integrated Work 8
company

24
Semester 4

Core Course Name Credits


Foundation How human languages work? 4
Tools and techniques for creative
Foundation 4
thinking
Academic Operating Systems 4
Academic Data Structure and Algorithms 4
Integrated work with a partner
Integrated Work 8
company

24

Semester 5

Core Course Name Credits


Foundation English LSRW 3
Foundation Principles of Science 4
Academic Computer Organization & Architecture 4
Academic Formal Language & Automata Theory 4
Academic Design & Analysis of Algorithms 3
Integrated work with a partner
Integrated Work 8
company

26

Semester 6

Core Course Name Credits


Foundation Discovering Self 3
Fundamentals of Business
Foundation 3
Management
Academic Compiler Design 4
Academic Computer Networks 4
Integrated work with a partner
Integrated Work 8
company

22
Semester 7

Core Course Name Credits


Foundation Introduction to philosophy 3

Foundation Foundation Elective 3

Academic Academic Elective #1 4

Academic Academic Elective #2 4

Integrated work with a partner


Integrated Work 8
company

22

Semester 8

Core Course Name Credits


Integrated work with a partner
Integrated Work 20
company

20

Assessment model
At Kalvium, we strongly believe in the effectiveness of continuous evaluation/ assessment as
a way to improve learning outcomes and ensure students are retaining knowledge over time.
Research has shown that frequent assessments, such as quizzes and assignments/ projects,
can help reinforce learning and improve long-term retention (Roediger III and Karpicke, 2006).
Furthermore, continuous evaluation allows for timely feedback and opportunities for students to
address any areas where they may be struggling, resulting in better overall performance
(Freeman et al., 2014).

That's why, at Kalvium, we have implemented a continuous evaluation model for all of our
courses that includes regular assessments and projects throughout the semester. This
approach enables us to better support our students' learning and ensure they are well-prepared
for future challenges.

You will see this practically executed as each course having anywhere between 3-6 continuous
assessments spread through the duration of the course, with each assessment carrying a
specific weightage. The details of those are covered in the Assessment plan section under
Detailed Course Syllabus and Assessment Plan.

Detailed Course Syllabus & Assessment Plan

Semester 1

Front-end web development

Introduction
In this course, students will learn the fundamentals of front-end web development, including
HTML, CSS, JavaScript, and React JS. They will learn how to create responsive and dynamic
web pages, as well as develop their problem-solving and critical thinking skills. The course will
focus on hands-on projects and exercises to give students practical experience in front-end web
development.

Course outcomes
At the end of this course, students will be able:
1. To develop proficiency in HTML, CSS, and JavaScript, and apply them to the
development of interactive and responsive web pages.
2. To design and implement web pages that are accessible, user-friendly, and optimized for
search engines.
3. To create and use reusable code components to improve productivity and maintainability.
4. To demonstrate an understanding of the principles of web design and user experience,
and apply them to front-end development.
5. To use debugging tools and techniques to identify and fix errors in web applications.
6. To work collaboratively and effectively in a team environment on web development
projects.

Syllabus
Unit 1 HTML, CSS & JS first steps
Environment set up, Introduction to HTML, HTML Block Elements, HTML Inline Elements,
HTML Forms, Introduction to CSS, CSS Font & Text, CSS Selectors, CSS Inheritance, CSS
Colors, Box Model, Flex Box, JS DOM, Introduction to JS, JS Variables, JS Data Types, Basics
of JS Operators, Basics of JS Strings, Basics of JS Conditional Statements, Basics of JS
Control Statements, Basics of JS Arrays, Basics of JS Functions, Basics of JS Objects
Unit 2 – HTML, CSS & JS Deep dive Part 1
CSS Advanced Selectors, CSS Positioning, Advanced Flexbox, CSS Grids, Responsive Design,
JS Operators, JS Strings, JS Conditional Statements, JS Control Statements, JS Arrays &
Functions, JS Objects

Unit 3 HTML, CSS & JS Deep dive Part 2


JS Advanced Functions, JS Nested Data Structures, JS Higher Order Functions, JS Event
Handling, Object Oriented JS, JS Closure, JS Storage, CSS Transition, CSS Animation

Unit 4 JS the hard parts


JS Prototypal Inheritance, JS Async, JS Callbacks, JS Promises, JS APIs, JS Axios, Unit testing
in JS, Deployment

Unit 5 React first steps


Environment set up, Introduction to React, Props & State, Components, React App using Babel,
Rendering lists of data, JSX, Hooks, Additional Hooks, Event Handling, Component Lifecycle,
Class based components, Routing

Unit 6 React deep dive


React Forms, Fetching Data from API, Redux, React Redux, Redux Toolkit, React CSS Library,
Material-ui

Assessment plan

Assessment component Details of the assessment Weightage

Continuous assessment - 1 Project-based 20

Continuous assessment - 2 Project-based 20

Continuous assessment - 3 Project-based 20

Continuous assessment - 4 Project-based 20

Continuous assessment - 5 Project-based 20

Text book(s)
1. Web development: This book includes: Web development for Beginners in HTML + Web
design with CSS + Javascript basics for Beginners; Andy Vickler; Ladoo Publishing LLC
(24 May 2021)
2. The Road to Learn React: Your Journey to Master Plain Yet Pragmatic React.Js; Robin
Wieruch; Zaccheus Entertainment (1 January 2018)
Reference book(s)
1. HTML, CSS, and JavaScript All in One; Julie C. Meloni & Jennifer Kyrnin; Pearson
Education; Third edition
2. React and React Native: A complete hands-on guide to modern web and mobile
development with React.js; Adam Boduch & Roy Derks; Packt Publishing Limited; 3rd
edition

Critical thinking 101

Introduction
Critical Thinking is a course designed to introduce students to the concepts of reasoning and
decision-making, and to the cognitive biases and heuristics that can impede accurate and
rational thinking. Based on the seminal book "Thinking, Fast and Slow" by Daniel Kahneman,
the course will equip students with the skills to recognize and avoid common thinking errors,
and to think more critically and effectively.

Course outcomes
At the end of this course, the students will be able:
1. To describe the cognitive biases and heuristics that can affect human reasoning, and
explain how they can lead to thinking errors.
2. To recognize and identify common thinking errors and fallacies in everyday situations.
3. To apply critical thinking skills to analyze and evaluate arguments and evidence.
4. To synthesize ideas and perspectives from different sources to develop reasoned and
well-supported arguments.
5. To evaluate the reliability and validity of different sources of information and evidence.
6. To communicate critical thinking ideas and solutions clearly and effectively, both orally
and in writing.

Syllabus
Unit 1 – The two systems of thinking
Why think critically, The two systems of thinking, The mental power unit, The lazy system, The
marvels of priming, Cognitive ease, Norms, surprises and ease, How judgements work, Jumping
to conclusions

Unit 2 – Heuristics and biases


The law of small numbers, Anchoring effect, Availability bias, Representativeness bias,
Conjunction fallacy, Survivorship bias, Sunk cost fallacy, Confirmation bias, Google effect and
other common biases

Unit 3 – Critical thinking in action


Assignments on identifying biases in the news, creating fake news, writing an unbiased review,
alien travel guide, facts vs opinion, worst case scenarios, hypothetical scenarios

Assessment plan

Assessment component Details of the assessment Weightage

Continuous assessment - 1 Subjective assessment using 20


case studies

Continuous assessment - 2 Subjective assessment using 20


case studies

Continuous assessment - 3 Multiple-choice test 20

Continuous assessment - 4 Multiple-choice test 20

Continuous assessment - 5 Multiple-choice test 20

Text book(s)
Thinking, Fast and Slow; Daniel Kahneman; Penguin 2012 edition

Reference book(s)
Critical Thinking; Jonathan Haber; The MIT Press; Illustrated edition (7 April 2020)

Discrete Mathematics

Introduction
Discrete Mathematics is a foundational course for computer science students that introduces
the mathematical concepts and techniques essential to computer science. The course covers
topics such as logic, sets, functions, relations, combinatorics, graph theory, and number theory.
It emphasizes problem-solving, critical thinking, and effective communication of mathematical
ideas. Discrete Mathematics provides the mathematical foundation for further study in
algorithms, data structures,and other areas of computer science.

Course outcomes
At the end of this course, the students will be able:
1. To explain the fundamental concepts and principles of discrete mathematics, including
logic, sets, functions, and relations.
2. To apply discrete mathematics concepts to solve problems in computer science.
3. To analyze and evaluate the correctness and efficiency of algorithms, and the validity
and soundness of logical arguments.
4. To synthesize discrete mathematics concepts to create mathematical models for
real-world problems, such as scheduling and network optimization.
5. To evaluate the strengths and limitations of various discrete mathematics techniques,
and make informed decisions about which approach to use in a given context.
6. To communicate mathematical ideas and solutions clearly and effectively, both orally and
in writing.

Syllabus
Unit 1 Proofs
Introduction and Proofs, Induction, Strong Induction, Number Theory

Unit 2 Structures
Graph theory and Colouring, Matching Problems, Minimum Spanning Tree, Communication
Networks, Directed graphs, Relations and partial orders, State machines

Unit 3 Counting - Part 1


Sums, asymptotics, Divide and Conquer Recurrences, Linear Recurrences

Unit 4 Counting - Part 2


Counting Rules, Generating functions, Infinite sets

Unit 5 Probability Part 1


Introduction to Probability, Conditional Probability, Independence, Random variables

Unit 6 Probability Part 2


Expectations, Deviations, Random Walks

Assessment plan

Assessment component Details of the assessment Weightage

Continuous assessment - 1 Multiple-choice 20

Continuous assessment - 2 Multiple-choice 20

Continuous assessment - 3 Multiple-choice 20

Continuous assessment - 4 Multiple-choice 20

Continuous assessment - 5 Multiple-choice 20


Text book(s)
Mathematics for Computer Science; Eric Lehman, F Thomson Leighton, Albert R Meyer; 12th
Media Services (5 June 2017)

Reference book(s)
1. Discrete Mathematics and Its Application; Kenneth H Rosen & Dr Kamala Krithivasan;
McGraw Hill; 8th edition
2. A Textbook on Discrete Mathematics; CV Sastry and Rakesh Nayak; Wiley (1 October
2020)

Professional skills for the workplace

Introduction
Professional Skills for the Workplace is a course designed to help students develop the human
skills they need to succeed in the modern workplace. The course is based on the Human Skills
Matrix, developed by MIT JWEL, and covers four key quadrants: thinking, leading, interacting,
and managing oneself. Students will learn practical strategies for improving their
communication, collaboration, problem-solving, and self-management skills.

Course outcomes
At the end of this course, students will be able:
1. To explain the four quadrants of the Human Skills Matrix and how they relate to success
in the workplace.
2. To apply critical thinking skills to solve complex problems and make effective decisions.
3. To lead and collaborate effectively with others, including managing teams and facilitating
group discussions.
4. To communicate clearly and persuasively in various professional contexts, including
written, verbal, and nonverbal communication.
5. To manage time and prioritize tasks effectively, including setting goals and developing
strategies for self-motivation and self-improvement.
6. To synthesize different human skills and apply them to real-world workplace challenges,
such as conflict resolution, innovation, and project management.

Syllabus
Unit 1 – Managing ourselves
Self-awareness, Adaptability, Managing emotions, Accountability, Professionalism, Taking
initiative, Persistence, Planning and organizing, Integrity
Unit 2 – Interacting
Writing good emails & reports, Use of communication tools, Use of project management tools,
Curating relationships on social media through professional networking sites, Negotiation skills,
Presentation skills

Univ 3 – Thinking
Ethical dilemmas, being an intrapreneur, Building a growth mindset, Systems thinking

Unit 4 – Leading
Empowering others, Having a strategic vision, Project management, Performance management

Assessment plan

Assessment component Details of the assessment Weightage

Continuous assessment - 1 Subjective assessment using 20


case studies

Continuous assessment - 2 Subjective assessment using 20


case studies

Continuous assessment - 3 Multiple-choice test 20

Continuous assessment - 4 Multiple-choice test 20

Continuous assessment - 5 Multiple-choice test 20

Text book(s)
COMMUNICATION SKILLS FOR PROFESSIONALS AND STUDENTS: An Occupational
Therapist's Perspective; Dr. Amitabh Kishor Dwivedi; Notion Press; 1st edition

Reference book(s)
The Communication Book: 44 Ideas for Better Conversations Every Day; Mikael Krogerus &
Roman Tschäppeler; Portfolio Penguin (19 April 2018)

The breadth of computer science 1

Introduction
This course provides students with a unique opportunity to build a modern computer system
from scratch. The course will let students start with Nand gates, build their way up to a fully
functioning computer with an operating system, and gain a deep understanding of how
computers work.

Course outcomes
At the end of this course, students will be able:
1. To demonstrate knowledge of basic computer architecture principles.
2. To work with Boolean algebra and logic design.
3. To implement basic combinational and sequential circuits.
4. To write assembly language programs to control hardware components.
5. To design and implement a fully functional computer system.
6. To evaluate the trade-offs involved in different hardware and software design choices.

Syllabus
Unit 1: Boolean Logic and Digital Design
Introduction to digital systems and digital logic, Boolean algebra and logic gates, Combinational
logic circuits, Sequential logic circuits, Building elementary logic gates using Nand gates

Unit 2: Boolean Arithmetic and the CPU

Arithmetic logic unit (ALU), Half adder and full adder, Ripple carry adder, Multi-bit addition,
Multi-bit ALU,
CPU components (registers, instruction memory, data memory)

Unit 3: Memory and Machine Language


Random-access memory (RAM), Memory maps, Machine language, Assembly language, The
HACK computer architecture, Implementation of a simple computer using the HACK architecture

Unit 4: Computer Architecture


The von Neumann architecture, Memory hierarchy, Input/output (I/O), Operating system (OS)
basics,
Hardware-software interface, Building an assembler to translate assembly code into machine
code,

Assessment plan

Assessment component Details of the assessment Weightage

Continuous assessment - 1 Multiple-choice test 20

Continuous assessment - 2 Multiple-choice test 20

Continuous assessment - 3 Multiple-choice test 20


Continuous assessment - 4 Multiple-choice test 20

Continuous assessment - 5 Multiple-choice test 20

Text book(s)
The Elements of Computing Systems: Building a Modern Computer from First Principles by
Noam Nisan and Shimon Schocken, published by MIT Press. Latest edition: 2nd edition (August
2019).

Reference book(s)
1. Computer Organization and Design: The Hardware/Software Interface by David A.
Patterson and John L. Hennessy, published by Elsevier. Latest edition: 5th edition
(October 2013).
2. Digital Design and Computer Architecture by David Money Harris and Sarah L. Harris,
published by Morgan Kaufmann. Latest edition: 3rd edition (June 2021).

Problem solving using programming

Introduction
Problem Solving using Programming is an introductory course that teaches fundamental
programming concepts and techniques using C++ and Python. After learning this course,
students will easily be able to learn more programming languages and use this course for
practicing. The course emphasizes problem-solving skills and computational thinking, and
equips students with the skills necessary to tackle real-world problems using programming.

Course outcomes
At the end of this course, the students will be able:
1. To explain fundamental programming concepts, including data types, control structures,
and functions.
2. To apply programming constructs to solve simple problems and algorithms in C++ and
Python.
3. To analyze and evaluate the efficiency and correctness of algorithms and programs.
4. To synthesize programming constructs to develop larger programs that solve complex
problems.
5. To evaluate the strengths and weaknesses of different programming constructs and
choose appropriate solutions for different problems.
6. To communicate programming solutions clearly and effectively, both orally and in writing.
Syllabus
Unit 1 Algorithms
Computational thinking, Decomposition, Abstraction, Pattern recognition, Algorithms, Writing
pseudocode and translating it to code, Looping (While and do-while loops), Variables (Scope,
lifetime and initialization), Datatypes (Structures, classes, enums)

Unit 2 Variables
Review of variables and their uses, including how to declare and initialize variables; Arithmetic
operators, Relational operators, Logical operators, Bitwise operators & Assignment operators;
Introduction to strings and advanced string manipulation techniques, such as concatenation,
substring extraction, searching, and replacing; Introduction to characters including ASCII and
Unicode encoding, character classification functions, and character mapping; Typecasting;
Using constants to represent fixed values in code; local and global variables, and their uses and
limitations; operator precedence, order of evaluation, and short-circuiting

Unit 3 Control basics


If, If else, for loop & while loop; using boolean expressions to control program flow and evaluate
conditions; using switch statements to select one of many possible code paths based on a value
or condition; advanced topics such as nested loops, loops with multiple variables, and using
loops to iterate

Unit 4 Control advanced


Nested if, Nested if elseif, Else, for loop, while loop in arrays and strings; Exception handling;
using recursive functions to solve problems that can be broken down into smaller sub-problems;
advanced techniques for using loops, such as using loop counters, loop flags, and sentinel
values; using advanced branching techniques such as the ternary operator and conditional
expressions

Unit 5 Modularity
Organizing code into modules, classes, and functions to improve code structure and reusability;
Function parameters; Function return value; reviewing recursion and its use in function design
and implementation; Libraries and APIs

Unit 6 Program development


Game development using a programming language, debugging, basic game design principles,
user interface design, performance optimization

Assessment plan

Assessment component Details of the assessment Weightage


Continuous assessment - 1 Coding test 20

Continuous assessment - 2 Coding test 20

Continuous assessment - 3 Coding test 20

Continuous assessment - 4 Coding test 20

Continuous assessment - 5 Coding test 20

Text book(s)
Think Like a Programmer: An Introduction to Creative Problem Solving by V. Anton Spraul,
Released August 2012, published by No Starch Press

Reference book(s)
1. Programming in Python 3: A Complete Introduction to the Python Language; Mark
Summerfield; Pearson Education; Second edition
2. C++ Programming Language; Bjarne Stroustrup; Pearson Education; 4th edition

Design for developers

Introduction
Design for Developers is a course designed to introduce students to the fundamental principles
of user interface (UI) and user experience (UX) design, with a focus on the needs of developers.
The course covers topics such as visual design, user-centered design, usability testing, and
accessibility, and provides hands-on experience with design tools and techniques.

Course outcomes
At the end of the course, students will be able:
1. To explain the basic principles of user-centered design, and how they apply to software
development.
2. To evaluate and critique the design of existing software applications, and identify areas
for improvement in terms of user experience and usability.
3. To apply visual design principles and techniques, such as typography, color theory, and
layout, to create effective user interfaces.
4. To conduct usability testing and other evaluation methods to measure the effectiveness
and usability of software applications.
5. To synthesize different design concepts and techniques to create well-designed and
user-friendly software interfaces.
6. To evaluate the accessibility of software applications and understand the importance of
designing for users with diverse needs.

Syllabus
Unit 1 How to approach design as a developer
Why design for developers, Getting started with design education, Getting started with Figma,
Labs on Figma

Unit 2 UX Design for Developers


Understanding design sprints, Understanding the user, Information architecture, Accessibility in
design, How to build good digital products, Psychology in UX design, User research, User
journey mapping, Wireframing, Prototyping

Unit 3 UI Design for Developers


Visual design principles, Visual hierarchy, Working with text, Layouts and spacing, Working with
colours, Working with images, Creating depth in design, Working with components

Assessment plan

Assessment component Details of the assessment Weightage

Continuous assessment - 1 Case-study analysis 20

Continuous assessment - 2 Project-based 40

Continuous assessment - 3 Project-based 40

Text book(s)
About Face; Alan Cooper, Robert Reimann, Christopher Noessel and David Cronin; Wiley
Publishing, 2014

Reference book(s)
1. Hands-on UX design for developers; Elvis Canziba; Packt, 2018
2. Refactoring; Adam Wathan and Steve Shoger
Semester 2

Learning how to learn

Introduction
Learning How to Learn is a course designed to help students master the concepts and
techniques of effective learning, with a focus on online and remote learning environments. The
course covers topics such as the science of learning, memory techniques, metacognition, and
overcoming procrastination, and provides practical strategies for improving learning outcomes in
any subject area.

Course outcomes
At the end of this course, students will be able:
1. To explain the key principles and processes involved in effective learning, and how they
can be applied to any subject area.
2. To apply a variety of memory techniques, such as spaced repetition and visualization, to
improve retention and recall of information.
3. To practice metacognitive strategies, such as self-reflection and self-assessment, to
monitor and improve learning progress.
4. To identify and overcome common obstacles to effective learning, such as
procrastination and distractions.
5. To synthesize different learning techniques and apply them to real-world learning
challenges, such as preparing for exams or learning new skills.
6. To evaluate the effectiveness of different learning strategies and make evidence-based
decisions about the best approach for a given learning situation.

Syllabus
Unit I: How learning works
Introduction to Focus and Diffuse Modes, the role of Practice in learning,
Introduction to Memory & Sleep in learning, Procrastination on learning, case
studies to end the unit (on learning languages, creativity, problem solving and
much more – how learning happens for these skills)

Unit II: Chunking


Introduction to Chunking, how to form a Chunk, Illusions of Competence, the
pitfalls of overlearning & choking

Unit III: Procrastination, Memory and Learning


Avoiding rut thinking, strategies and techniques to tackle procrastination while
learning, Process vs. Product, Deep-dive into memory, Long-term memory, Being
a life-long learner, The Memory Palace technique
Unit IV: Being a better learner
Creating Visual metaphors, creating analogies for learning, Importance of
checklists, Learning vs. Prepping for tests, Case studies

Assessment plan

Assessment component Details of the assessment Weightage

Continuous assessment - 1 Multiple-choice test 20

Continuous assessment - 2 Multiple-choice test 20

Continuous assessment - 3 Multiple-choice test 20

Continuous assessment - 4 Multiple-choice test 20

Continuous assessment - 5 Multiple-choice test 20

Text book(s)
1. Learning How to Learn: How to Succeed in School Without Spending All Your Time
Studying; A Guide for Kids and Teens; Barbara Oakley and Terrence Sejnowski; Tarcher
Perigree 2018
2. Make it Stick: The Science of Successful Learning; Peter C Brown, Henry L. Roediger III
& Mark A. McDaniel; Harvard University Press; 1st edition

Reference book(s)
1. Mindshift: Break Through Obstacles to Learning and Discover Your Hidden Potential;
Barbara Oakley, Penguin, 2017
2. How we learn: The surprising truth about when, where and why it happens; Benedict
Carey, Random House, 2014
3. Ultralearning: Accelerate Your Career, Master Hard Skills and Outsmart the Competition;
Scott H Young, Harper Collins, 2019

The breadth of computer science 2

Introduction
In this course, students will continue the journey of building a modern computer system from
first principles. Starting with the CPU, they will design and implement an assembler, a compiler,
and an operating system. By the end of the course, students will have built a complete, fully
functional computer system.

Course outcomes
At the end of this course, students will be able:
1. To design and implement a simple CPU.
2. To write an assembler to translate assembly language code into machine code.
3. To write a compiler to translate high-level language code into assembly language code.
4. To design and implement a simple operating system.
5. To analyze and optimize the performance of software and hardware components.
6. To collaborate with a team to build a complete, functional computer system.

Syllabus
Unit 1: Virtual Machine I: Stack Arithmetic
Introduction to virtual machines (VMs); Stack operations and the stack architecture, Stack
arithmetic;
Memory segments: local, argument, this, that; Program flow control; Function calling
conventions

Unit 2: Virtual Machine II: Program Control


Program flow control, Labeling commands and program flow control, Conditional and
unconditional branching, Function calling and return, Implementing function calls using VM
operations, Recursive function calling

Unit 3: High-Level Language and Compiler I: Syntax and Parsing


Overview of high-level programming languages, Language grammar and syntax, Formal
language theory,
Parsing and its various techniques, Top-down and bottom-up parsing, Implementation of a Jack
compiler

Unit 4: High-Level Language and Compiler II: Code Generation and Optimization
Code generation and its challenges, Compilation of expressions, statements and control
structures, Memory management, Symbol table management, Intermediate representations,
Optimizations and their techniques

Assessment plan

Assessment component Details of the assessment Weightage

Continuous assessment - 1 Multiple-choice test 20

Continuous assessment - 2 Multiple-choice test 20


Continuous assessment - 3 Multiple-choice test 20

Continuous assessment - 4 Multiple-choice test 20

Continuous assessment - 5 Multiple-choice test 20

Text book(s)
The Elements of Computing Systems: Building a Modern Computer from First Principles by
Noam Nisan and Shimon Schocken, published by MIT Press. Latest edition: 2nd edition (August
2019).

Reference book(s)
1. Computer Architecture: A Quantitative Approach by John L. Hennessy and David A.
Patterson, published by Elsevier. Latest edition: 6th edition (June 2021).
2. Compilers: Principles, Techniques, and Tools by Alfred V. Aho, Monica S. Lam, Ravi
Sethi, and Jeffrey D. Ullman, published by Pearson. Latest edition: 2nd edition
(September 2006).

Full Stack Web Development

Introduction
Full Stack Web Development is a course designed to teach students how to build dynamic web
applications using the MERN stack (MongoDB, Express, React, and Node.js). The course
covers both backend and database development, as well as front-end technologies like HTML,
CSS, and JavaScript. By the end of the course, students will have built their own unique full
stack application, which they can showcase in their portfolio.

Course outcomes
At the end of this course, students will be able:
1. To describe the architecture and components of a full stack web application, including
front-end and back-end technologies and their interactions.
2. To design and develop a database schema using MongoDB, including defining data
models, creating indexes, and writing queries.
3. To create RESTful APIs using Node.js and Express, including handling HTTP requests
and responses, and interacting with the database.
4. To implement front-end user interfaces using React, including using React components,
managing state, and handling user input.
5. To integrate front-end and back-end components to create a fully functional full stack
web application, including using asynchronous communication and handling errors and
exceptions.
6. To design and implement a unique full stack application as a capstone project, including
identifying user requirements, developing a software design, and implementing and
testing the application.

Syllabus
Unit 1: Introduction to Full Stack Web Development
Overview of full stack web development, the MERN stack and its components, setting up the
development environment (using tools like Node.js, MongoDB, and VSCode), basic backend
development concepts (e.g., routing, handling requests, working with databases)

Unit 2: Backend Development and Databases


Designing and implementing a database schema using MongoDB, writing basic queries and
data manipulation commands, creating a RESTful API using Node.js and Express, handling
HTTP requests and responses, interacting with the database using Mongoose

Unit 3: Front-end Development with React


Overview of React and its components, creating and managing React components, working with
state and props, handling user input and events, styling with CSS and Bootstrap

Unit 4: Software Engineering and Project Management


Introduction to Software Engineering and SDLC, Agile and Scrum methodologies, software
project management tools (like JIRA/ Trello/ GitHub), version control with Git

Unit 5: Integrating Front-end and Back-end Components


Asynchronous communication between front-end and back-end, handling errors and exceptions,
using middleware to process requests, authentication and authorization with JWT

Unit 6: Capstone Project


Design and development of a unique full stack application, identifying user requirements and
developing a software design, implementing and testing the application, deployment on cloud
platforms like AWS, Heroku or Netlify

Assessment plan
The grading of this course is based on the students’ progress in building their capstone project.
Each capstone is divided into 5 different milestones (this would vary from project to project,
since each would be unique).

Assessment component Details of the assessment Weightage

Continuous assessment - 1 Capstone project milestone 20


#1 evaluation (Design and
Front-end)

Continuous assessment - 2 Capstone project milestone 20


#2 evaluation (Back-end and
Databases part 1)

Continuous assessment - 3 Capstone project milestone 20


#3 evaluation (Back-end and
Databases part 2)

Continuous assessment - 4 Capstone project milestone 20


#4 evaluation (Full Stack)

Continuous assessment - 5 Capstone project milestone 20


#5 evaluation (Deployment
and final review)

Text book(s)
Full-Stack React Projects: Learn MERN stack development by building modern web apps using
MongoDB, Express, React, and Node.js; Shama Hoque; Packt Publishing Limited; 2nd edition

Reference book(s)
1. Beginning MERN Stack: Build and Deploy a Full Stack MongoDB, Express, React,
Node.js App; Greg Lim
2. Pro MERN Stack: Full Stack Web App Development with Mongo, Express, React, and
Node; Vasan Subramanian; Apress; 2nd edition

Semester 3

Economics, Politics and Rural Society Development

Introduction
This course is designed to provide CS engineers with an understanding of basic economics,
politics, and rural development and how these three fields are interconnected. Students will
learn about the principles of economics, the functioning of political systems, and the challenges
and opportunities in rural development. Through this course, students will develop a
multidisciplinary perspective, enabling them to identify and contribute to solutions that benefit
both society and the economy.
Course outcomes
At the end of this course, students will be able:
1. To demonstrate an understanding of basic economic principles and their applications to
real-world scenarios.
2. To analyze political systems and the role of technology in modern political processes.
3. To evaluate the challenges and opportunities in rural development, with a focus on the
role of technology.
4. To apply economic and political principles to rural development scenarios.
5. To develop critical thinking skills to identify and solve complex problems related to
economics, politics, and rural development.
6. To communicate effectively with stakeholders from different backgrounds and
perspectives, including policymakers, entrepreneurs, and rural communities.

Syllabus
Unit 1: Introduction to Economics
Basic concepts of economics, including demand, supply, and market equilibrium;
Macroeconomic concepts, such as GDP, inflation, and unemployment; Economic policies, such
as fiscal and monetary policies; Applications of economics in the technology industry.

Unit 2: Political Systems and Processes


Understanding of the functioning of political systems, such as democracy, authoritarianism, and
socialism; The role of technology in modern political processes, including social media and big
data analytics; Political policies and their impact on the economy and society.

Unit 3: Rural Development


Definition and characteristics of rural areas; Challenges and opportunities in rural development,
including poverty, health, and education; Role of technology in rural development, including
e-governance, e-commerce, and digital literacy; Policies and initiatives for rural development.

Unit 4: Interdisciplinary Perspectives and Case Studies


Interdisciplinary approach to solving complex problems related to economics, politics, and rural
development; Case studies of successful rural development initiatives that integrate technology,
economics, and politics.

Assessment plan

Assessment Details of the Additional details, if any Weightage


component assessment

Continuous Multiple-choice test on A short quiz to test the basic 25


assessment - 1 unit 1 concepts learned in Unit 1,
including demand, supply, and
market equilibrium, and
macroeconomic concepts such as
GDP, inflation, and unemployment.

Continuous Political analysis Students will choose a political 25


assessment - 2 system (democracy,
authoritarianism, socialism, etc.)
and analyze how it affects the
economy and society. Students will
be asked to analyze political
policies and their impact on the
economy and society and provide a
writeup followed by a viva.

Continuous Rural development Students will develop a proposal for 25


assessment - 3 proposal a rural development initiative that
integrates technology, economics,
and politics. The proposal should
address challenges and
opportunities, role of technology,
and policies and initiatives for rural
development.

Continuous Case study analysis Students will analyze a real-world 25


assessment - 4 case study related to rural
development and write a report on
the challenges and opportunities,
role of technology, and policies and
initiatives for rural development.

Text book(s)
1. Economics: Principles, Problems, and Policies by Campbell McConnell, Stanley Brue,
and Sean Flynn. (Latest edition, published by McGraw-Hill Education India)
2. Politics: An Introduction by Andrew Heywood. (Latest edition, published by Palgrave
Macmillan India)
3. Rural Development: Principles, Policies and Management by B. P. Vani and K.
Sivaramane. (Latest edition, published by SAGE Publications India Pvt Ltd)

Reference book(s)
1. Rural Development: Putting the last first; Robert Chambers; Pearson Education India;
2nd Edition (2010)
2. Economic Development of Rural Areas: An Analysis of Problems and Prospects; L. P.
Singh; Sage Publications India Pvt Ltd; 2nd Edition (2011)
Mathematical thinking 101

Introduction
This course is designed to provide CS Engineers with a foundation in basic mathematical
concepts relevant to aptitude tests and problem-solving in the tech industry. Students will learn
topics such as number systems, ratios, proportions, averages, profit and loss, time and work,
time, speed and distance, permutations, percentages, simple and compound interest, statistics,
and geometry.

Course outcomes
By the end of the course, students will be able:

1. To apply mathematical concepts to solve problems encountered in aptitude tests and the
tech industry
2. To use mathematical methods to evaluate data and make informed decisions
3. To analyze and interpret statistical data
4. To understand the basic principles of geometry
5. To demonstrate proficiency in mental math and calculation
6. To identify the relationships between different mathematical concepts and apply them to
problem-solving.

Syllabus
Unit 1: Speed Math
Mental calculation techniques for addition, subtraction, multiplication, and division;
Approximation techniques for finding the nearest answer quickly; Tricks for working with
squares, cubes, and square roots

Unit 2: Number System


Conversion between number systems: decimal, binary, octal, and hexadecimal
Basic arithmetic operations in different number systems
Applications of number systems in computer science

Unit 3: Ratios, Proportions, Mixtures and Alligations


Concepts of ratios and proportions; Mixtures and Alligations concepts

Unit 4: Profit, Loss, Mixtures and Alligations

Understanding profit and loss in business context; Applications of profit, loss, partnerships;
Mixtures and Alligations problem-solving

Unit 4: Time and Work


Concepts of time and work; Work efficiency and work-days formulas; Applications of time and
work in problem-solving

Unit 5: Time, Speed and Distance


Concepts of time, speed, and distance; Different formulas and their applications; Relative speed
concept

Unit 6: Permutation
Concepts of permutation; Circular permutations and permutations with restrictions; Applications
of permutation in problem-solving

Unit 7: Percentages, SI and CI


Concepts of percentage, simple interest, and compound interest; Different formulas and their
applications;
Installments and recurring deposits

Unit 8: Statistics
Basic concepts of statistics: mean, median, mode, variance, and standard deviation; Data
presentation: pie chart, bar chart, and line graph; Applications of statistics in problem-solving

Unit 9: Geometry
Basic concepts of geometry: points, lines, angles, and triangles; Pythagorean theorem and
trigonometry
Applications of geometry in problem-solving

Assessment plan

Assessment component Details of the assessment Weightage

Continuous assessment - 1 Multiple-choice test 20

Continuous assessment - 2 Multiple-choice test 20

Continuous assessment - 3 Multiple-choice test 20

Continuous assessment - 4 Multiple-choice test 20

Continuous assessment - 5 Multiple-choice test 20

Text book(s)
Quantitative Aptitude for Competitive Examinations; R.S. Aggarwal; S. Chand Publishing; 2021
Reference book(s)
1. How to Prepare for Quantitative Aptitude for CAT; Arun Sharma; McGraw Hill Education;
2022
2. The Pearson Guide to Quantitative Aptitude for Competitive Examinations; Dinesh
Khattar; Pearson Education; 2021

Database Management Systems

Introduction
This course is designed to teach students the fundamental concepts and principles of Database
Management Systems (DBMS) and how to effectively design, implement, and manage
databases. Students will learn various database models and acquire hands-on experience in
using popular DBMS tools.

Course outcomes
At the end of this course, students will be able:
1. To understand the fundamental concepts of database management systems including
data models, data normalization, and database design.
2. To be able to design and implement a relational database using SQL.
3. To be able to use a popular DBMS tool such as MySQL to create and manage
databases.
4. To be able to use SQL to query and manipulate data stored in a database.
5. To be able to apply database management concepts to real-world scenarios and
problem-solving.
6. To be able to design and implement a functional database-driven web application.

Syllabus
Unit I – Introduction to DBMS
The Evolution of Database Systems- Overview of a Database Management System-Outline of
DatabaseSystem Studies-The Entity-Relationship Data Model: Elements of the E/R
Model-Design Principles-The Modeling of Constraints-Weak Entity Sets.

Unit II – The Relational data model and Algebra


Basics of the Relational Model-From E/R Diagrams to Relational Designs-Converting Subclass
Structures to Relations-Functional Dependencies-Rules About Functional Dependencies-Design
of Relational Database Schemas – Multi valued Dependencies- Relational Algebra: Relational
operations-Extended Operators of Relational Algebra- Constraints on Relations.

Unit III – SQL


Simple Queries in SQL-Sub queries-Full-Relation Operations-Database Modifications-Defining a
Relation Schema-View Definitions- Constraints and Triggers: Keys and Foreign
Keys-Constraints on Attributes and Tuples-Modification of Constraints-Schema-Level
Constraints and Triggers -Java Database ConnectivitySecurity and User Authorization in SQL

Unit IV – Index structures and query processing


Index Structures:Indexes on Sequential Files-Secondary Indexes-B-Trees-Hash Tables-Bitmap
Indexes-Query Execution: Physical-Query-Plan Operators-One-Pass , two-pass & index based
Algorithms, Buffer Management, Parallel Algorithms-Estimating the Cost of
Operations-Cost-Based Plan Selection -Order for Joins-Physical-Query-Plan

Unit V – Failure recovery and concurrency control


Issues and Models for Resilient Operation -Undo/Redo Logging-Protecting against Media
FailuresConcurrency Control: Serial and Serializable Schedules-Conflict-Serializability-Enforcing
Serializability by Locks-Locking Systems With Several Lock Modes-Concurrency Control by
Timestamps, validation transaction management: Serializability and Recoverability-View
Serializability-Resolving DeadlocksDistributed Databases: commit& lock.

Assessment plan

Assessment Assessment type Details Weightage


component %

Continuous Project-based Design and implement a simple 20


assessment - 1 database schema for a given
scenario

Continuous Project-based Implement a more complex 20


assessment - 2 database schema and write
queries to retrieve data from the
database

Continuous Project-based Design and implement a 20


assessment - 3 database security and
administration plan for a given
scenario

Continuous Project-based Apply database concepts to a 20


assessment - 4 real-world scenario and
implement a complete database
solution

Continuous Project-based Optimize a database schema 20


assessment - 5 and write efficient queries for a
given data set.
Text book(s)
Database Systems: Models, Languages, Design And Application Programming By Ramez
Elmasri, Shamkant B. Navathe, Pearson 6th edition

Object Oriented Programming

Introduction
This course teaches the principles of Object-Oriented Programming (OOP), which is a key
concept in modern programming paradigms. The course is language-agnostic, but students can
choose to implement their projects in either C++ or Python.

Course outcomes
At the end of this course, students will be able:
1. To explain the fundamental concepts and principles of OOP, such as encapsulation,
inheritance, and polymorphism.
2. To apply OOP concepts to develop software applications in C++ and Python.
3. To design and implement complex data structures and algorithms using OOP concepts.
4. To develop and manage large-scale software projects using OOP design patterns and
software engineering practices.
5. To analyze and evaluate the performance and efficiency of OOP-based programs.
6. To collaborate and communicate effectively in a team environment to develop and
maintain OOP-based software projects.

Syllabus
Unit 1 Introduction to Object-Oriented Programming
Basics of OOP, Objects and Classes, Abstraction, Encapsulation, Inheritance, Polymorphism,
Procedural Programming vs OOP

Unit 2 Advanced Concepts in OOP


Templates, Overloading, Exception Handling, Operator Overloading, Inheritance and
Polymorphism, Advanced Topics in Inheritance

Unit 3 Object-Oriented Design Principles


SOLID Principles, Design Patterns, Design for Reuse, Design for Testability.

Unit 4 Software Engineering Practices


Agile Development, Waterfall Model, Software Development Life Cycle (SDLC), Version Control,
Code Reviews, Testing and Debugging.
Unit 5
Advanced Topics in OOP Multithreading, Concurrency, Networking, GUI Programming,
Database Programming, Best Practices for OOP

Assessment plan

Assessment Assessment type Details Weightage


component %

Continuous Coding test, online Coding test on basic 20


assessment - 1 object-oriented concepts (e.g.,
classes, objects, inheritance,
polymorphism)

Continuous Coding test, online Coding test on advanced 20


assessment - 2 object-oriented concepts (e.g.,
interfaces, abstract classes,
design patterns)

Continuous Project-based Project-based coding assignment 20


assessment - 3 where students design and
implement an object-oriented
program that solves a specific
problem

Continuous Coding test, online Coding test on object-oriented 20


assessment - 4 design principles (e.g., SOLID
principles, cohesion and
coupling, design patterns)

Continuous Project-based Project-based coding assignment 20


assessment - 5 where students design and
implement a larger-scale
object-oriented program.

Text book(s)
1. Object-Oriented Programming with C++; E Balagurusamy; McGraw Hill; Eighth edition
2. Python Object-Oriented Programming; Steven F. Lott & Dusty Phillips; Packt Publishing
Limited; 4th edition
3. Java The Complete Reference; Herbert Schildt; McGraw Hill; Eleventh edition

Reference book(s)
1. Object Oriented Programming C++; Robert Lafore; Pearson Education India; 4th edition
2. OOPS with C++ and Java; Balagurusamy; McGraw Hill Education 2014 edition
3. Python 3 Object-Oriented Programming; Dusty Phillips; Packt 3rd edition

Semester 4

How Human Languages work

Introduction
In this course, students will explore the fundamental concepts of human language, including
phonetics, syntax, semantics, and pragmatics. The course will provide an overview of the
structure and function of human language and explore how language is processed in the brain.

Course outcomes
At the end of this course, students will be able:
1. Understand the basic concepts of human language, including phonetics, syntax,
semantics, and pragmatics.
2. Explore the structure and function of human language, including the sound systems of
languages, grammatical structures, and the meanings of words and sentences.
3. Understand the social and cultural dimensions of language use, including language
variation and change, multilingualism, and language attitudes.
4. Understand how language is processed in the brain, including the neural mechanisms of
language comprehension and production.
5. Analyze the ways in which language reflects and shapes cultural and social identities.
6. Develop critical thinking skills by analyzing linguistic data and applying linguistic
concepts to real-world problems.

Syllabus
Unit 1: Introduction to Language and Linguistics
Overview of Linguistics and its sub-fields, Phonetics and Phonology, Morphology

Unit 2: Syntax and Semantics


Syntax and Syntactic Structures, Semantics and Semantic Structures, Language Typology

Unit 3: Language Acquisition and Language Change


First and Second Language Acquisition, Language Change and Language Contact, Historical
Linguistics

Unit 4: Sociolinguistics and Applied Linguistics


Sociolinguistics and Language Variation, Language Policy and Planning, Language and Identity,
Language and Technology
Unit 5: Language in Context
Language and Culture, Language and Gender, Language and Power, Language and
Globalization

Unit 6: Language Research and the Future of Linguistics


Research Methods in Linguistics, Current Debates in Linguistics, The Future of Linguistics

Assessment plan

Assessment component Assessment type Weightage %

Continuous assessment - 1 Multiple-choice test 20

Continuous assessment - 2 Multiple-choice test 20

Continuous assessment - 3 Presentation 20

Continuous assessment - 4 Multiple-choice test 20

Continuous assessment - 5 Presentation 20

Text book(s)
How Languages Work: An Introduction to Language and Linguistics by Carol Genetti;
Cambridge University Press; 2nd edition

Reference book(s)
How Language Works; David Crystal; Penguin UK (2007 edition)

Tools and techniques for creative thinking

Introduction
This course introduces students to a variety of tools and techniques for generating creative
ideas and solving problems. Students will learn strategies for brainstorming, mind mapping, idea
generation, and critical thinking. The course will focus on developing practical skills for creative
thinking that can be applied in a variety of contexts.

Course outcomes
At the end of this course, students will be able:
1. To use a variety of creative thinking tools and techniques to generate new ideas
2. To apply critical thinking skills to analyze and evaluate creative ideas and solutions
3. To identify and overcome barriers to creative thinking and problem-solving
4. To apply creative thinking skills in practical situations, such as in business, design, and
technology
5. To develop effective communication skills for presenting and selling creative ideas
6. To work collaboratively with others to generate and implement creative solutions

Syllabus
Unit I – Introduction to Principles of Creativity
Mother and father of innovation, Levels of creativity, Creative environments

Unit II – Creativity tools


Creativity tools, Brainstorming techniques, Principles of brainstorming, Flip chart, Post-it,
Alphabet brainstorming, Brainwriting, Grid brainstorming

Unit III – Thinking styles


The value of diversity, Principles of various thinking styles, Design thinking, Different thinking
styles in practice

Unit IV – Morphological analysis


Principles of morphological analysis, Group application of plotline MA

Unit V – TRIZ theory


Principles and discussion, Contradiction matrix, TRIZ Parameters and Principles

Unit VI – SCAMPER
SCAMPER for architecture, team innovation using SCAMPER, Use of differen thinking styles

Unit VII – Using the tools in combination


Creative problem solving, Double diamond model, Circle brainstorming steps, E-tivity: B-link

Assessment plan

Assessment component Assessment type Weightage %

Continuous assessment - 1 Multiple-choice test 20

Continuous assessment - 2 Multiple-choice test 20

Continuous assessment - 3 Case study analysis 20

Continuous assessment - 4 Case study analysis 20


Continuous assessment - 5 Project followed by a 20
presentation

Text book(s)
"The Art of Possibility: Transforming Professional and Personal Life" by Rosamund Stone
Zander and Benjamin Zander; Penguin; Reprint edition (27 July 2006)

Reference book(s)
1. "Cracking Creativity: The Secrets of Creative Genius" by Michael Michalko (2001); Ten
Speed Press; Revised ed. edition (26 June 2001)
2. "A Whack on the Side of the Head: How You Can Be More Creative" by Roger von Oech
(2008); Grand Central Publishing; Special edition (5 May 2008)

Operating Systems

Introduction
This course introduces the concepts and principles of operating systems, including process
management, memory management, file systems, and device management. Students will learn
about various scheduling algorithms and memory allocation techniques used in operating
systems. They will also be introduced to different types of operating systems and will learn
about the trade-offs involved in designing and implementing these systems. Through practical
assignments and projects, students will gain hands-on experience in implementing basic
operating system functionalities. By the end of the course, students will have a solid
understanding of the security and privacy issues in modern operating systems.

Course outcomes
At the end of this course, students will be able:
1. To understand the fundamental concepts of operating systems such as processes,
threads, synchronization, and memory management.
2. To analyze the performance of various scheduling and memory allocation algorithms.
3. To compare and contrast different types of operating systems, such as batch,
multi-programmed, and real-time systems.
4. To develop an understanding of device management, file systems, and virtualization.
5. To gain practical experience in implementing basic operating system functionalities.
6. To understand the security and privacy issues in modern operating systems.

Syllabus
Unit I - Computer Arithmetic & Processor Organisation
Computer Registers, Classification of Instruction – Size: three, two, one and zero instruction,
Addressing Mode. Arithmetic and Logic Circuit Design. Instruction execution cycle: Sequencing
of control signals, hardwired control, micro-programmed control, control signals,
microinstructions, micro program sequencing, pre-fetching microinstructions. Introduction to
graphical processing unit (GPU).

Unit II - Memory Organization


Memory hierarchy, Main memories chip architectures, memory address map, memory assembly
to CPU. Auxiliary memory: magnetic tapes, disks (magnetic and SSDs). Associate memory:
hardware organization, match logic, read and writes operations. Cache memory. Memory
interleaving technique.

Unit III - Parallel Processing


Parallel processing, examples of parallel processing machines. Classification of parallel
processing: Handler classification – pipeline processing, vector processing and array
processing, Flynn’s classification – SISD, SIMD, MISD, MIMD. Pipeline conflicts.

Unit IV - Introduction to Operating Systems and Process Management


Introduction to operating systems. Process Management: what is a Process?, Process state,
Process control block. Threads. Cooperating processes. Inter-process communication. CPU
scheduling algorithms: Fist come first serve, shortest job first – primitive & non primitive, Round
Robin. Deadlock: Necessary conditions for occurrence of deadlocks, Deadlock detection –
Resource Allocation Graph. Deadlock Avoidance Algorithms: Banker Algorithm and Safety
Algorithm.

Unit V - Memory Management


Memory allocation techniques: Continues (Multiprogramming with fixed number of tasks),
Non-continues (Multiprogramming with variable number of tasks), Paging, Demand paging.
Page replacement algorithms: First in first out, Least frequently used, Most frequently used,
Optimal page replacement. Virtual memory concepts.

Assessment plan

Assessment Assessment type Details Weightage


component %

Continuous Multiple-choice test, This assessment covers the 20


assessment - 1 online basics of computer arithmetic,
processor organization, memory
hierarchy, and cache memory.

Continuous Project-based Students could be asked to 20


assessment - 2 implement a specific scheduling
algorithm or choose from a set of
options, and would be graded
based on the functionality and
efficiency of their
implementation.

Continuous Case-study analysis This requires students to analyze 20


assessment - 3 a real-world operating system
and identify its strengths and
weaknesses. Students could be
asked to examine a specific
aspect of the operating system,
such as its memory management
or process scheduling, and
provide recommendations for
improvement.

Continuous Multiple-choice test, This assessment will cover the 20


assessment - 4 online basics of parallel processing,
inter-process communication,
and deadlock avoidance
algorithms.

Continuous Project-based This assessment would require 20


assessment - 5 students to apply their
knowledge of memory allocation
techniques and virtual memory
concepts. Students could be
asked to implement a specific
page replacement algorithm or
choose from a set of options, and
would be graded based on the
functionality and efficiency of
their implementation.

Text book(s)
Operating Systems Concepts, Abraham Silberschatz, Peter B. Galvin and Greg Gagne, Wiley,
2012.

Reference book(s)
1. The Design of the Unix Operating System, Maurice Bach, Pearson; 1st edition
2. Operating systems concepts; Avi Silberschatz, Peter Baer Galvin, Greg Gagne; Wiley;
Ninth edition
Data Structure and Algorithms

Introduction
This course is focused on the study of data structures and algorithms, which are fundamental to
computer science. It is designed to provide a deep understanding of the theory behind data
structures and algorithms, as well as practical implementation techniques. The course is
practice-heavy, and students will develop skills in algorithm design and analysis,
problem-solving, and programming.

Course outcomes
At the end of this course, students will be able:
1. To explain the principles and concepts underlying data structures and algorithms, such
as complexity analysis, recursion, and graph theory.
2. To design and implement efficient data structures and algorithms, using a variety of
techniques and approaches.
3. To analyze the performance and correctness of data structures and algorithms, using
mathematical and empirical methods.
4. To apply data structures and algorithms to solve real-world problems, across a range of
application areas such as search, sorting, and graph algorithms.
5. To evaluate different data structures and algorithms, based on their suitability for specific
problem domains and constraints.
6. To create and present well-structured and well-documented code that implements data
structures and algorithms.

Syllabus
Unit I – Introduction
Algorithmic thinking, peak finding, Models of computation, Document distance, Python cost
model
Unit II – Sorting and trees (14 hours)
Insertion sort, Merge sort, Heaps and heap sort, Binary search trees, BST sort, AVL trees and
sort, Counting sort, radix sort, lower bounds for sorting and searching

Unit III – Hashing


Hashing with chaining, Table doubling, Karp-Rabin, Open addressing, Cryptographic hashing

Unit IV – Numerics
Integer arithmetic, Karatsuba multiplication, Square roots, Newton’s method

Unit V – Graphs
Breadth first search, Depth first search, Topological mapping

Unit VI – Shortest paths


Single-source shortest paths problem, Dijkstra, Bellman-Ford, Speeding up Dijkstra

Unit VII – Dynamic Programming


Memoization, subproblems, guessing, bottom-up; Fibonacci, shortest paths, Parent pointers;
text justification, perfect-information blackjack, String subproblems, psuedopolynomial time;
parenthesization, edit distance, knapsack, Two kinds of guessing; piano/guitar fingering, Tetris
training, Super Mario Bros

Unit VIII – Advanced topics


Computational complexity, Algorithms research topics

Assessment plan

Assessment component Assessment type Weightage %

Continuous assessment - 1 Coding test 20

Continuous assessment - 2 Coding test 20

Continuous assessment - 3 Coding test 20

Continuous assessment - 4 Coding test 20

Continuous assessment - 5 Coding test 20

Text book(s)
Data Structures and Algorithms Made Easy; Narasimha Karumanchi; CareerMonk Publications;
5th edition

Reference book(s)
Introduction to Algorithms; Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford
Stein; PHI Learning Pvt. Ltd. (Originally MIT Press); Third edition
Semester 5

English LSRW

Introduction
This is a course aimed at developing the four pillars of Technical English communication:
Listening, Speaking, Reading and Writing. The course is designed to benchmark against the
CEFR framework, and is tailored to focus on business and technical communication.

Course outcomes
At the end of this course, students will be able:
1. To comprehend and interpret spoken and written English at the CEFR B2 level
2. To produce spoken and written English at the CEFR B2 level
3. To develop active listening and speaking skills in order to participate in discussions,
debates, and presentations
4. To improve reading speed, comprehension, and critical analysis of texts related to
business and technical domains
5. To hone writing skills and produce effective business and technical documents such as
emails, reports, proposals, and presentations
6. To apply effective communication strategies in a professional setting, including cultural
awareness and intercultural communication.

Syllabus
Unit 1: Listening and Speaking
Introduction to listening and speaking skills, , Understanding different accents and intonation,
Developing active listening skills, Participating in discussions and debates, Giving presentations
and speeches

Unit 2: Reading
Introduction to reading skills, Skimming and scanning for information, Identifying main ideas and
supporting details, Understanding tone and purpose, Reading for inference and implication

Unit 3: Writing
Introduction to writing skills, Planning and organizing written work, Writing effective emails and
memos
Writing reports and proposals, Writing for specific audiences and purposes

Unit 4: Grammar and Vocabulary


Introduction to grammar and vocabulary, Understanding verb tenses and structures, Practicing
correct sentence formation, Building vocabulary through context and word roots, Using idioms
and phrasal verbs in communication
Unit 5: Business and Technical Communication
Introduction to business and technical communication, Writing effective resumes and cover
letters
Conducting effective interviews, Understanding and writing technical documents,
Communicating with clients and colleagues in professional settings,

Unit 6: Test Preparation and Practice


Introduction to the CEFR framework, Practice tests and quizzes to assess learning, Review and
feedback on written and spoken communication, Goal setting for further improvement, Final
project or presentation

Assessment plan

Assessment Assessment type Details Weightage


component %

Continuous Multiple-choice + Test of Reading, Writing, 25


assessment - 1 subjective, online + offline Listening and Speaking skills as
per the CEFR framework

Continuous Multiple-choice + Test of Reading, Writing, 25


assessment - 2 subjective, online + offline Listening and Speaking skills as
per the CEFR framework

Continuous Multiple-choice + Test of Reading, Writing, 25


assessment - 3 subjective, online + offline Listening and Speaking skills as
per the CEFR framework

Continuous Multiple-choice + Test of Reading, Writing, 25


assessment - 4 subjective, online + offline Listening and Speaking skills as
per the CEFR framework

Text book(s)
Professional English: for AKTU, Meenakshir Raman and Sangeetha Sharma, Oxford Publication
1st edition

Reference book(s)
Word Power Made Easy; Norman Lewis; Penguin Random House India; Latest edition 2015
Principles of Science

Introduction
The Principles of Science course provides a foundation in natural science principles and their
application to computer science. The course will develop critical thinking and scientific
communication skills and help students appreciate the relationship between science,
technology, and society.

Course outcomes
At the end of this course, students will be able:
1. To understand the basic principles of natural science and their relevance to computer
science
2. To develop critical thinking skills to analyze scientific problems and apply scientific
principles to computer science problems
3. To develop skills in scientific communication and reporting
4. To understand the relationship between science and technology, and their impact on
society
5. To develop an appreciation for the ethical considerations in science and technology
6. To develop an understanding of the scientific method and its application to computer
science research

Syllabus
Unit 1: Introduction to Science and Technology
Definition and characteristics of science; Relationship between science and technology;
Historical development of science and technology; Ethical considerations in science and
technology

Unit 2: Physics Principles in Computer Science


Mechanics: motion, forces, work, energy, momentum; Electromagnetism: electric fields,
magnetic fields, electromagnetic waves; Thermodynamics: laws of thermodynamics, heat
transfer, phase transitions; Applications of physics principles to computer science problems;
Understanding of the relationship between physics and computer science

Unit 3: Chemistry Principles in Computer Science


Atomic structure: electrons, protons, neutrons, periodic table; Chemical reactions: stoichiometry,
acids and bases, oxidation and reduction; Thermodynamics: enthalpy, entropy, free energy;
Applications of chemistry principles to computer science problems; Understanding of the
relationship between chemistry and computer science
Unit 4: Biology Principles in Computer Science
Genetics: DNA, RNA, protein synthesis, inheritance patterns; Cell biology: structure and
function of cells, cellular processes; Evolution: mechanisms of evolution, natural selection,
speciation; Applications of biology principles to computer science problems; Understanding of
the relationship between biology and computer science

Unit 5: Earth and Environmental Science Principles in Computer Science


Geology: plate tectonics, minerals, rocks; Meteorology: weather patterns, climate change;
Ecology: ecosystems, biodiversity, conservation; Applications of Earth and environmental
science principles to computer science problems; Understanding of the relationship between
Earth and environmental science and computer science

Unit 6: Scientific Method and Research Ethics in Computer Science


Principles of the scientific method: observation, hypothesis, experimentation, analysis,
conclusion; Ethical considerations in computer science research: privacy, security, bias,
accountability; Skills in scientific communication and reporting: scientific writing, presentations,
data visualization; Applications of the scientific method and research ethics to computer science
research; Understanding of the importance of ethical considerations and effective
communication in computer science research.

Assessment plan

Assessment Details of the Additional details, if any Weightage


component assessment

Continuous Multiple-choice test This quiz will cover Unit 1: 10


assessment - 1 Introduction to Science and
Technology. It will include
multiple-choice questions, short
answer questions, and true/false
questions.

Continuous Project that requires This project will be based on Unit 2: 20


assessment - 2 analysis and a Physics Principles in Computer
presentation + write-up Science. Students will be required
to choose a physics principle and
apply it to a computer science
problem. They will have to submit a
report detailing their approach and
findings.

Continuous Project that requires This project will be based on Unit 3: 20


assessment - 3 analysis and a Chemistry Principles in Computer
presentation + write-up Science. Students will be given a
computer science problem and will
have to apply their knowledge of
chemistry principles to solve the
problem. They will have to submit a
report detailing their approach and
findings.

Continuous Project that requires This project will be based on Unit 4: 20


assessment - 4 analysis and a Biology Principles in Computer
presentation + write-up Science. Students will be required
to choose a biology principle and
apply it to a computer science
problem. They will have to submit a
report detailing their approach and
findings.

Continuous Project that requires This assignment will be based on 20


assessment - 5 analysis and a Unit 5: Earth and Environmental
presentation + write-up Science Principles in Computer
Science. Students will be given a
computer science problem and will
have to apply their knowledge of
earth and environmental science
principles to solve the problem.
They will have to submit a report
detailing their approach and
findings.

Continuous Multiple-choice test This assignment will be based on 10


assessment - 6 Unit 5: Earth and Environmental
Science Principles in Computer
Science. Students will be given a
computer science problem and will
have to apply their knowledge of
earth and environmental science
principles to solve the problem.
They will have to submit a report
detailing their approach and
findings.

Text book(s)
1. Principles of Science by Donald E. Simanek and John R. Erickson (Pearson Education
India, 2019)
2. The Sciences: An Integrated Approach by James Trefil and Robert M. Hazen (published
by John Wiley & Sons, latest edition)
Reference book(s)
1. Science Matters: Achieving Scientific Literacy by Robert M. Hazen and James Trefil
(Penguin Random House India, 2017)
2. Science and Technology in World History: An Introduction by James E. McClellan III and
Harold Dorn (Johns Hopkins University Press, 2018)
3. Physics for Scientists and Engineers by Randall D. Knight (published by Pearson, latest
edition)
4. Chemistry: The Central Science by Theodore E. Brown, H. Eugene LeMay, Bruce E.
Bursten, Catherine J. Murphy, and Patrick M. Woodward (published by Pearson, latest
edition)
5. Biology: Concepts and Connections by Neil A. Campbell, Jane B. Reece, Martha R.
Taylor, and Eric J. Simon (published by Pearson, latest edition)
6. Earth Science by Edward J. Tarbuck, Frederick K. Lutgens, and Dennis Tasa (published
by Pearson, latest edition)
7. Research Methods in Computer Science by E. Lesk (published by Springer, latest
edition)

Computer Organization & Architecture

Introduction
This course provides an introduction to computer organization and architecture, which deals
with the physical components of a computer system and how they work together to execute
instructions. Topics covered include CPU design, memory hierarchy, I/O systems, and assembly
language programming.

Course outcomes
At the end of this course, students will be able:
1. To explain the basic components of computer systems and their functions at a low level,
including CPU, memory, and I/O systems.
2. To analyze the performance of computer systems based on metrics such as clock rate
and CPI.
3. To design and implement simple CPU and memory systems using hardware description
languages such as Verilog.
4. To write and debug assembly language programs that interact with system hardware.
5. To evaluate the trade-offs involved in different design choices for computer systems,
such as the size of the instruction set or the level of parallelism.
6. To apply knowledge of computer organization and architecture to optimize code for
performance and minimize energy consumption.
Syllabus
Unit I
Basic functional blocks of a computer: CPU, memory, input-output subsystems, control unit.
Instruction set architecture of a CPU - registers, instruction execution cycle, RTL interpretation
of instructions, addressing modes, instruction set. Case study - instruction sets of some
common CPUs.

Unit II
Data representation: signed number representation, fixed and floating point representations,
character representation. Computer arithmetic - integer addition and subtraction, ripple carry
adder, carry look-ahead adder, etc. multiplication - shift-and-add, Booth multiplier, carry save
multiplier, etc. Division - non-restoring and restoring techniques, floating point arithmetic.

Unit III
CPU control unit design: hardwired and micro-programmed design approaches, Case study -
design of a simple hypothetical CPU.

Memory system design: semiconductor memory technologies, memory organization.

Unit IV
Peripheral devices and their characteristics: Input-output subsystems, I/O transfers - program
controlled, interrupt driven and DMA, privileged and non-privileged instructions, software
interrupts and exceptions. Programs and processes - role of interrupts in process state
transitions.

Performance enhancement techniques

Unit V
Pipelining: Basic concepts of pipelining, throughput and speedup, pipeline hazards.

Memory organization: Memory interleaving, concept of hierarchical memory organization, cache


memory, cache size vs block size, mapping functions, replacement algorithms, write policy.

Assessment plan

Assessment Assessment type Details Weightage


component %

Continuous Multiple-choice test, This assessment could cover the 20


assessment - 1 online instruction set architecture of a
CPU, including registers,
addressing modes, and
instruction execution cycle.
Continuous Project-based This assessment could ask 20
assessment - 2 students to design a simple
hypothetical CPU using either a
hardwired or micro-programmed
approach. This could be a
project-based assignment where
students submit code or a
detailed design document.

Continuous Multiple-choice test, This can be a test of students’ 20


assessment - 3 online understanding of Computer
Arithmetic.

Continuous Project-based This assessment could ask 20


assessment - 4 students to design a memory
system using semiconductor
memory technologies, including
memory organization and cache
memory. This could be a
project-based assignment where
students submit code or a
detailed design document.

Continuous Project-based This assessment could ask 20


assessment - 5 students to work in groups to
research and present on different
performance enhancement
techniques, including pipelining
and memory organization. The
project could involve creating a
presentation or a demo to
showcase their understanding of
the concepts.

Text book(s)
Computer Organization and Design; Patterson; Elsevier; 6th edition

Reference book(s)
1. Computer Architecture, Berhooz Parhami; Oxford University Press (19 April 2012)
2. Computer System Architecture; Mano M Morris; Pearson 3rd edition

Formal Language & Automata Theory

Introduction
Formal language and automata theory is a branch of computer science that studies the
theoretical foundation of computer science, including the formal languages that computers can
recognize and the automata that can recognize those languages. This course is designed to
give students an understanding of formal languages, grammars, and automata, and how to use
them to solve practical problems.

Course outcomes
At the end of this course, students will be able:
1. To identify the regular and context-free languages that a given automaton can recognize.
2. To design regular expressions and context-free grammars for given languages.
3. To construct finite automata, pushdown automata, and Turing machines to recognize
given languages.
4. To analyze the time and space complexity of algorithms that operate on formal
languages.
5. To apply the principles of formal languages and automata to real-world problems, such
as pattern matching and parsing.
6. To evaluate and critique different models of computation and their relative strengths and
weaknesses.

Syllabus
Unit 1 Automata methods and Finite Automata
Introduction to formal proof, Additional forms of proof, Inductive proofs, The central concepts of
Automata theory, Deterministic finite automata, Nondeterministic finite automata, Text search,
Finite automata with Epsilon transitions

Unit 2– Regular expressions and languages


Regular expressions, Applications, Algebraic laws for regular expressions, Proving languages
not to be regular, Closure properties of regular languages, Decision properties, Equivalence and
minimization

Unit 3 Context free Grammar and Languages


Context free grammar, Parse trees, Applications, Ambiguity

Unit 4 Pushdown Automata


The languages of a PDA, Equivalance of PDA and CFG, Deterministic PDA

Unit 5 Intro to Turing machines


Problems that computers cannot solve, The Turing machine, Programming techniques for
Turing machine, Extensions to the basic Turing machine

Unit 6 Undecidability and Intractable problems


P and NP, NP-complete problem, A restricted satisfiability problem, Additional NP-complete
problems,
Assessment plan

Assessment Assessment type Details Weightage


component %

Continuous Multiple-choice test, This assessment could cover 30


assessment - 1 online concepts such as deterministic
and non-deterministic finite
automata, the text search
algorithm, and finite automata
with Epsilon transitions.

Continuous Project-based This assessment could involve 40


assessment - 2 students implementing regular
expressions to solve a real-world
problem, such as pattern
matching in text files.

Continuous Multiple-choice test, This assessment could be a 30


assessment - 3 online comprehensive exam covering
all the topics covered in the
course, with a focus on Turing
machines and undecidability.

Text book(s)
Automata Theory Language & Computation; Hopcraft; Pearson 3rd edition

Reference book(s)
1. Theory of Computer Science: Automata, Languages and Computation; KLP Mishra;
Prentice Hall India Learning Private Limited; 3rd edition
2. Switching and Finite Automata Theory; Jha; Cambridge University Press; South Asian
edition (8 June 2010)

Design & Analysis of Algorithms

Introduction
This course provides an in-depth understanding of fundamental algorithms, algorithm design
techniques, and algorithm analysis. Students will gain experience in designing and analyzing
algorithms, which will help them solve computational problems more efficiently.

Course outcomes
At the end of this course, students will be able:
1. To apply algorithmic problem-solving techniques using a variety of algorithm design
methods.
2. To analyze the time and space complexity of algorithms and compare the efficiency of
different algorithms for the same problem.
3. To select appropriate data structures to optimize algorithms for specific problems.
4. To demonstrate proficiency in dynamic programming, greedy algorithms, and other
classical algorithmic techniques.
5. To apply algorithmic solutions to real-world problems and evaluate the quality of the
solution.
6. To analyze the limitations and challenges of algorithms in various contexts and assess
the ethical implications of algorithm design.

Syllabus
Unit I - Fundamentals of Algorithms and mathematics
Problem, algorithm definitions, Mathematics for algorithmic sets, Functions and relations,
Combinations, Vectors and matrices, Linear inequalities and linear equations

Unit II - Analysis of Algorithms


Orders of Magnitude (Asymptotic notations) Growth rates, some common bounds (constant,
logarithmic, linear, polynomial, exponential) Average and worst case analysis
Analysing control statements Recurrence Relations- substitution, change of variables, master’s
method

Unit III - Sorting and searching algorithms


Selection sort, bubble sort, insertion sort Sorting in linear time, count sort Linear search

Unit IV - Divide and conquer algorithms


Quick sort, worst and average case complexity, Merge sort Matrix multiplication, Binary search,
Binary search tree

Unit V - Greedy algorithms


General characteristics, Problem solving using Greedy methods, Activity selection problem,
MST, The Knapskack problem

Unit VI - String matching


The naive string matching algorithm, The Rabin-Karp algorithm, String Matching with infinite
automata

Assessment plan

Assessment Assessment type Details Weightage


component %

Continuous Coding test Students could be given a 20


assessment - 1 programming problem related to
sorting and searching algorithms,
such as implementing quicksort
or binary search. They would be
expected to write efficient and
correct code.

Continuous Coding test Students could be given a 20


assessment - 2 programming problem related to
dynamic programming or greedy
algorithms, such as the knapsack
problem or coin change problem.
They would be expected to write
efficient and correct code.

Continuous Coding test Students could be given a 20


assessment - 3 programming problem related to
string matching or graph
algorithms, such as finding the
shortest path between two nodes
or implementing the Rabin-Karp
algorithm. They would be
expected to write efficient and
correct code.

Continuous Algorithm analysis Students could be given a set of 20


assessment - 4 algorithms and asked to analyze
their time complexity using Big-O
notation. They would need to
demonstrate an understanding of
how to analyze algorithms and
express their complexity using the
appropriate notation.

Continuous Case study analysis Students could be given a 20


assessment - 5 real-world problem related to
algorithms, such as optimizing a
transportation network or
scheduling appointments for a
medical facility. They would be
expected to analyze the problem
and propose an algorithmic
solution, including a description of
the algorithm, its time complexity,
and any trade-offs involved.
Text book(s)
"Algorithm Design" by Jon Kleinberg and Éva Tardos (Pearson, 2006)

Reference book(s)
1. "The Design of Approximation Algorithms" by David P. Williamson and David B. Shmoys
(Cambridge University Press, 2010)
2. "Computational Complexity: A Modern Approach" by Sanjeev Arora and Boaz Barak
(Cambridge University Press, 2009)

Semester 6

Discovering Self

Introduction
Discovering Self is a course designed to help students explore and develop their personal
identity, emotional intelligence, and communication skills. Through a variety of activities and
exercises, students will gain insights into their own strengths and weaknesses, and develop
strategies for personal growth and development.

Course outcomes
At the end of this course, students will be able:
1. To develop self-awareness and introspection skills
2. To understand the importance of emotional intelligence and its role in personal and
professional life
3. To learn effective communication skills to express thoughts, ideas, and emotions
4. To develop problem-solving and decision-making skills
5. To discover personal strengths and weaknesses, and strategies for personal growth and
development
6. To understand the impact of personal values and beliefs on decision-making and
behavior

Syllabus
Unit 1: Self-awareness and Introspection
Definition and importance of self-awareness; Techniques for introspection and self-reflection;
Identifying personal values, beliefs, and biases; Understanding emotions and their impact on
behavior; Developing self-compassion and self-acceptance

Unit 2: Emotional Intelligence


Definition and importance of emotional intelligence; Understanding emotions and their role in
communication; Developing empathy and social awareness; Managing emotions and stress;
Developing emotional regulation and resilience

Unit 3: Effective Communication


Definition and importance of effective communication; Verbal and nonverbal communication
skills;
Active listening and responding skills; Overcoming communication barriers; Developing
assertiveness and conflict resolution skills

Unit 4: Problem Solving and Decision Making


Definition and importance of problem solving and decision making; Analyzing problems and
identifying root causes; Generating and evaluating alternative solutions; Making effective
decisions; Implementing and evaluating decisions

Unit 5: Personal Growth and Development


Definition and importance of personal growth and development; Identifying personal strengths
and weaknesses; Developing strategies for personal growth and development; Setting goals
and creating action plans; Cultivating a growth mindset

Unit 6: Values and Beliefs


Understanding personal values and beliefs; Identifying how values and beliefs impact
decision-making and behavior; Developing an ethical framework for decision-making;
Understanding and respecting cultural differences; Managing cognitive biases and heuristics

Assessment plan

Assessment Details of the Additional details, if any Weightage %


component assessment

Continuous Personal reflection Students will write a personal 20


assessment - 1 paper reflection paper on their
self-awareness and introspection
journey. The paper should be
based on their experiences with
techniques for introspection and
self-reflection, as well as their
identified values, beliefs, and
biases.

Continuous Emotional intelligence Students will be given a case study 20


assessment - 2 case study related to emotional intelligence
and will have to analyze it and
provide a solution. The case study
will focus on managing emotions
and stress, developing emotional
regulation and resilience, and
developing empathy and social
awareness.

Continuous Communication project Students will work on a 20


assessment - 3 communication project that includes
verbal and nonverbal
communication skills, active
listening and responding skills, and
overcoming communication
barriers. The project should include
a presentation or a video
showcasing their communication
skills.

Continuous Decision making Students will be given a 20


assessment - 4 simulation problem-solving and
decision-making simulation where
they will have to analyze problems,
identify root causes, generate and
evaluate alternative solutions, and
make effective decisions. The
simulation will be designed to mimic
real-world scenarios.

Continuous Personal growth plan Students will develop a personal 20


assessment - 5 growth plan that includes identifying
personal strengths and
weaknesses, developing strategies
for personal growth and
development, setting goals, and
creating action plans. The plan
should be based on the concepts
learned in the course and should
be tailored to the student's
individual needs and aspirations.
Text book(s)
Emotional Intelligence 2.0 by Travis Bradberry and Jean Greaves, TalentSmart (2015)

Reference book(s)
1. Crucial Conversations: Tools for Talking When Stakes Are High by Kerry Patterson,
Joseph Grenny, Ron McMillan, and Al Switzler, McGraw-Hill Education (2011)
2. The 7 Habits of Highly Effective People: Powerful Lessons in Personal Change by
Stephen R. Covey, Simon & Schuster (2013)
3. Mindset: The New Psychology of Success by Carol S. Dweck, Ballantine Books (2007)
4. Thinking, Fast and Slow by Daniel Kahneman, Farrar, Straus and Giroux (2011)

Fundamentals of Business Management

Introduction
This course provides an introduction to the key principles and practices of modern business
management. It is designed to equip students with the foundational knowledge and skills
needed to manage people, resources, and processes effectively, and to develop a strategic
mindset that enables them to make sound business decisions in a dynamic and complex
environment.

Course outcomes
At the end of this course, students will be able:
1. To understand the fundamental concepts and principles of modern business
management, including organizational structures, functions, and processes.
2. To develop a strong foundation in core business disciplines, such as accounting, finance,
marketing, and operations management.
3. To acquire the necessary knowledge and skills to manage people effectively, including
leadership, motivation, and communication.
4. To understand the importance of strategic thinking and planning in business
management, and to develop the ability to formulate and execute effective business
strategies.
5. To learn to manage resources efficiently and effectively, including financial,
technological, and human resources.
6. To develop critical thinking and problem-solving skills, and to apply them in real-world
business scenarios.

Syllabus
Unit 1: Introduction to business management and Marketing
How business operate, Branding, customer centricity, Go-to market strategies, different modes
of marketing
Unit 2: Financial Accounting
Balance sheet, Accrual accounting, Income sheet, Cash flows, Ratio analysis

Unit 3: Managing social and human capital


Motivation and reward, Tasks, jobs and system of work, Making good & timely decisions,
Designing and changing the organization’s architecture

Unit 4: Background to Entrepreneurship


Theories of entrepreneurship, Activity scope and role in modern society, The effects of
entrepreneurial activity on economic systems, contributions and benefits of entrepreneurial
activity, Entrepreneurship in Oman. Problems faced by small firms, types of entrepreneurs and
innovators.

Unit 5: The Entrepreneur


The individual in terms of psychology, personality and trait theories; The individual in terms of
motivation and achievement theories; The individual in terms of behaviour and characteristics
theories; Differentiated entrepreneur typologies.

Unit 6: Conceiving a Business Idea and Creating a Business Plan


Business Idea - Models for new ventures, idea generation, screening ideas, business analysis,
and feasibility studies.
Business Plan - Purpose and benefits, design of a business plan, layout and content, focused
recipient, approaching potential investors.

Assessment plan

Assessment Assessment type Details Weightage


component %

Continuous Multiple-choice A quiz testing the concepts of 20


assessment - 1 business learned

Continuous Case-study analysis Provide a case study of a real 20


assessment - 2 business and ask students to
analyze the business
management and marketing
strategies used. Students should
identify key challenges,
successes, and areas for
improvement.

Continuous Financial statement Provide financial statements for a 20


assessment - 3 analysis hypothetical business and ask
students to analyze the
company's financial health using
ratio analysis. Students should
identify strengths and
weaknesses of the company's
financial position and make
recommendations for
improvement.

Continuous Business plan proposal Ask students to identify a 20


assessment - 4 potential entrepreneurial
opportunity and create a business
plan for a new venture. The plan
should include a market analysis,
financial projections, and an
overview of the proposed
business model.

Continuous Project-based Students to identify a potential 20


assessment - 5 entrepreneurial opportunity and
create a business plan for a new
venture. The plan should include
a market analysis, financial
projections, and an overview of
the proposed business model.

Text book(s)
1. "Principles of Management" by Peter F. Drucker (HarperCollins, 2017)
2. "Fundamentals of Management" by Stephen P. Robbins and David A. DeCenzo
(Pearson, 2017)

Reference book(s)
1. "The Lean Startup" by Eric Ries (Crown Business, 2011)
2. "Blue Ocean Strategy" by W. Chan Kim and Renée Mauborgne (Harvard Business
Review Press, 2015)
3. "The 7 Habits of Highly Effective People" by Stephen R. Covey (Simon & Schuster,
2013)
4. "Good to Great" by Jim Collins (Harper Business, 2001)

Compiler Design

Introduction
The Compiler Design course is designed to teach students the principles and techniques used
in building compilers for programming languages. Students will learn how compilers work and
how to build a simple compiler from scratch.
Course outcomes
At the end of this course, students will be able:
1. To apply the principles of formal language and automata theory in building compilers for
programming languages.
2. To design and implement the lexical analyzer and parser for a programming language.
3. To generate intermediate code from source code using different techniques.
4. To optimize code generation using various optimization techniques.
5. To implement error handling and debugging mechanisms in a compiler.
6. To evaluate and compare different compiler design and optimization techniques.

Syllabus
Unit 1 Introduction and Directed Translator
Language processors, Structure of a compiler, Evolution of programming languages, The
science of building a compiler, Applications of computer technology, Syntax – Directed
translation, Parsing, A translator for simple expressions, Lexical analysis, Symbol tables,
Intermediate code generation

Unit 2 - Lexical analysis


The role of lexical analyzer, Input buffering, Tokens, Lexical-Analyzer generator, Finite
Automata, Design of a lexical-analyzer generator

Unit 3 - Syntax analysis


The role of parser, Context-free grammar, Writing a grammar, Top-down parsing, Bottom-up
parsing, LR parsing, Parser generators

Unit 4 Syntax directed translation


Evaluation order for SDDs, Applications, Schemes, Implementing L-attributed SDDs

Unit 5 Intermediate Code Generation


Variations of syntax trees, Three address code, Types and declaration, Translation of
expressions, Type checking, Control flow, Backpatching, Switch statements

Unit 6 Run time environments


Issues in the design of a code generator, The target language, Addresses in the target code,
Basic blocks and flow graphs, Optimization of basic blocks, A simple code generator, Peephole
optimization, Dynamic Programming code-generation

Assessment plan

Assessment Assessment type Details Weightage


component %

Continuous Subjective, online Students are given a context-free 25


assessment - 1 grammar and asked to write a
parser for it using a parsing
algorithm of their choice (e.g.,
LL(1), LR(1), etc.). They would be
evaluated based on the
correctness and efficiency of their
parser.

Continuous Subjective, online Students are given a small 25


assessment - 2 program and asked to optimize its
intermediate code. They would be
evaluated based on the quality of
their optimization (e.g., number of
instructions reduced, execution
time improved, etc.).

Continuous Multiple-choice Students take a quiz on the 25


assessment - 3 concepts related to symbol
tables, such as scope, binding,
and lifetime.

Continuous Project-based Students will work on a project 25


assessment - 4 that demonstrates their
understanding of compiler design
principles and techniques. The
project could involve designing
and implementing a compiler for a
simple programming language, or
extending the functionality of an
existing compiler. The project
should include a written report
that explains the design choices
made and the implementation
details, as well as a
demonstration of the working
compiler. The project will be
evaluated based on the quality of
the design, implementation, and
documentation.

Text book(s)
Compilers: Principles Techniques and Tool; Alfred V. Aho, Monica S. Lam, Ravi Sethi, Jeffry D.
Ullman; Pearson 2nd edition
Reference book(s)
1. "Engineering a Compiler" by Keith D. Cooper and Linda Torczon (2nd Edition, 2011,
Morgan Kaufmann)
2. "Modern Compiler Implementation in Java" by Andrew W. Appel (2nd Edition, 2002,
Cambridge University Press)
3. "Introduction to Compiler Construction" by Thomas W. Parsons (2001, Addison-Wesley)
4. "Language Implementation Patterns: Create Your Own Domain-Specific and General
Programming Languages" by Terence Parr (2010, Pragmatic Bookshelf)
5. "Writing Compilers and Interpreters: A Software Engineering Approach" by Ronald Mak
(3rd Edition, 2009, Wiley)

Computer Networks

Introduction
This course will cover the fundamental concepts and principles of computer networks, including
network architecture, protocols, and services. Students will learn about various network
technologies, such as LAN, WAN, and wireless networks, and their applications in different
contexts. The course will also address network security and management issues.

Course outcomes
At the end of this course, students will be able:
1. To identify the different components and layers of computer networks.
2. To explain the functions of different protocols used in computer networks.
3. To analyze the performance and limitations of different network architectures.
4. To design and implement basic network configurations using routers and switches.
5. To troubleshoot common network issues using various network analysis tools.
6. To evaluate the security concerns and design solutions to ensure network security.

Syllabus
Unit 1 Internetworking and Routing
Internet architecture, Unicast IP Forwarding and Routing, Internet Routing in-the-Wild
(Measurement), Big Fast Routers, Security Issues in the Internet Architecture, Robustness

Unit 2 – Resource Management


End-to-End Congestion Control, Router-Assisted Congestion Control, Active Queue
Management, and Scheduling, Modeling and Measurement, Adaptive Applications and Internet
QoS

Unit 3– Network Services


Wireless/Mobile Networking, Naming: DNS, Peer-to-Peer Networking, Distributed Hash Tables,
Overlay Routing, Multicast, Network Protection, Reliable Transport and Congestion Control,
Unicast Routing, Adaptive and Network-Aware Applications, Traffic Engineering, Flow Modeling,
Wireless Protocols, Naming, Web Caching

Assessment plan

Assessment Assessment type Details Weightage


component %

Continuous Objective Multiple-choice quiz on unit 1 25


assessment - 1

Continuous Project-based Students are assigned to work in 25


assessment - 2 groups and simulate a computer
network using a network
simulator tool, such as GNS3 or
Packet Tracer. Students can
design and implement a network
topology that reflects the topics
covered in the course. The
project can include configuring
routers and switches,
implementing routing protocols,
and testing the network for
security, reliability, and
performance.

Continuous Project-based Students are asked to conduct 25


assessment - 3 research on a particular topic
related to computer networks and
present their findings to the class.
For example, students can
research the latest advances in
wireless protocols or analyze the
benefits and drawbacks of
different routing protocols. The
research project can be in the
form of a presentation or a written
report.

Continuous Project-based Students are asked to design a 25


assessment - 4 computer network that meets
specific requirements, such as
high availability, security, and
scalability. The project can
include designing network
topology, selecting hardware and
software components, and
configuring the network for
different services and
applications. Students can
present their designs to the class
and receive feedback from their
peers and the instructor.

Text book(s)
1. A S Tanenbaum, Computer Networks, 5th Ed., Pearson, 2010.
2. B.A. Forouzan, TCP/IP Protocol Suite, 4th Ed., TMH, 2010.

Reference book(s)
1. TCP/IP illustrated, Volume 1: The Protocols, W.R. Stevens, 2nd Ed., Addison-Wesley,
2015.
2. Internetworking with TCP/IP Principles, Protocols and Architecture, D E. Comer, 6th Ed.,
Pearson, 2013.

Semester 7

Introduction to Philosophy

Introduction
In this course, students will be introduced to fundamental concepts in philosophy such as logic,
ethics, epistemology, metaphysics, and aesthetics. They will learn about the major philosophical
ideas of historical and contemporary thinkers and explore various philosophical arguments.

Course outcomes
At the end of this course, students will be able:
1. To identify and explain the major philosophical concepts and ideas.
2. To analyze and evaluate philosophical arguments.
3. To develop the ability to think critically and creatively about philosophical problems.
4. To apply philosophical theories and concepts to real-world situations.
5. To engage in philosophical discussions and debates with peers.
6. To appreciate the relevance of philosophy to personal and professional life.
Syllabus
Unit 1: Morality
The status of morality, Objectivism, Relativism, Emotivism

Unit 2: What is knowledge?


The basic constituents of knowledge, the classical account of knowledge, The Gettier problem,
Choices

Unit 3: Free will


Determinism, Libetarianism, Compatabilism, Hard determinism, Free will and do we have it?

Unit 4: Obligation to obey the law


The grounds of political obligation, Consent, Fairness, Gratitude and Benefit

Unit 5: Should you believe what you hear?


Reid’s challenge to Hume, Reid’s Argument, Enlightenment, Intellectual Autonomy

Assessment plan

Assessment component Assessment type Weightage


%

Continuous assessment - 1 Case-study analysis and presentation 20

Continuous assessment - 2 Case-study analysis and presentation 20

Continuous assessment - 3 Case-study analysis and presentation 20

Continuous assessment - 4 Case-study analysis and presentation 20

Continuous assessment - 5 Case-study analysis and presentation 20

Text book(s)
Philosophy Made Slightly Less Difficult; Garrett J. Deweese & J. P. Moreland; IVP Academic;
Second edition

Reference book(s)
1. The Big Questions: A Short Introduction to Philosophy by Robert C. Solomon and
Kathleen M. Higgins, published by Wadsworth Publishing (2011).
2. Think: A Compelling Introduction to Philosophy by Simon Blackburn, published by
Oxford University Press (2001).
3. Philosophy: The Basics by Nigel Warburton, published by Routledge (2012).
4. The Story of Philosophy by Will Durant, published by Pocket Books (1991).
5. An Introduction to Indian Philosophy; Satishchandra Chatterjee; Rupa & Co 2012 edition

Electives
This forthcoming section of the doc contains a tentative list of courses offered (not a detailed
syllabus) for the electives.

Academic Elective #1
1. Cloud computing
2. Distributed systems
3. Data Mining and Warehousing

Academic Elective #2
1. Cryptography
2. Internet of Things
3. System Design

Foundation Elective
1. Human Mind and Behaviour
2. Organization Behaviour
3. Foreign language (Global options provided such as French/ Spanish/ German/ Japanese
etc.)
4. Design Thinking 101

Assessment plan for Integrated Work


During semesters 3 through 8, students participate in Integrated Work with partner companies.
This refers to paid remote internships with tech recruiters. This goes on to provide students with
valuable real-world experience and industry immersion, that will help them gain miles in their
eventual graduation outcomes, far ahead of their peers in other programs.

Credits are allocated to Integrated Work each semester, and the evaluation schema is as
follows.
Plan to track Progress
During the internship the student will report plans and progress in written and oral form. These
will be assessed formative.

Progress Report
During the course of the internship, the student has to submit fortnightly reports detailing their
progress for the month on the internship. This should cover:

● Analysis of the work done at the organization


● Learnings thus far
● Challenges faced in the fortnight with proposed solutions

This is evaluated by a supervisor mentor from Kalvium, and suitable feedback/ support is
provided.

Internship Report
After the internship, the student has to hand in his/her internship report before a predetermined
deadline. This report consists of the following.

● Analysis of the project done at the organization (matter-of-fact description of the work
carried out)
● Analysis and reflection of the learning process (this involves the progress in learning
over six months of the integrated work. This may include general as well as personal
competency-level learnings).

Internship Presentation

After handing in his/her report, the student presents his/her internship report to a panel. This
panel consists of unbiased assessors (not the supervising mentor) The supervising mentor may
also attend the internship presentation.

An assessment lasts one hour, consisting of a presentation of the student’s internship work (30
minutes), and a question round (30 minutes).

Assessment Methodology
The following will be provided as weightages for evaluating a student’s performance in this stint
of Integrated Work.

● Evaluation of the Progress Report by the supervising mentor (20%)


● Evaluation of the Internship Report/ Presentation by the panel (20%)
● Monthly Performance rating (weighted average) by the supervising manager from the
company (60%)

The monthly ratings could be based on various aspects of the student's performance such as
punctuality, professionalism, quality of work, ability to meet deadlines, willingness to learn, and
collaboration with team members.

Alignment with UGC/ AICTE guidelines


The program offered by Kalvium in partnership with university partners across the India is in
sync with all of the regulatory requirements proposed by UGC and AICTE. Here are the some of
the key regulatory requirements laid out, and how the Kalvium program is aligned to it.

1. The minimum duration of a Bachelor's in Engineering program should be four years, and
the maximum duration should not exceed six years.
- Kalvium proposes a Bachelor’s in Engineering that’s a 4 year program.

2. The program should comprise a minimum of 160 credits, including both theory and
practical components.
- The program scheme proposed by Kalvium includes 184 credits in total, covering
theory, practical and internship components.

3. The program curriculum should be designed in such a way that it covers the fundamental
principles, theoretical foundations, and practical applications of the subject.
- The course design pedagogy of Kalvium is extremely aligned with this
philosophy. Every course follows this process of students learning the
fundamental principles, the theoretical foundations (in the Kalvium context, we
call these ‘Learning Units’) followed by practical applications (in the Kalvium
program, we call these ‘Assignments/ Projects’). Every course is designed with
this pedagogy in mind.

4. The program should include mandatory courses in humanities, social sciences, and
management to ensure a holistic and well-rounded education.
- The Kalvium program has a whole pillar of courses (called the Foundation core)
that covers this.

You might also like