**Program: Bachelor of Science Course: Computer Science**

**Semester I – Theory **

**Objectives. **To understand the structure and operation of modern processors and their instruction sets

**Expected Learning Outcomes: **

1) To learn about how computer systems work and underlying principles

2) To understand the basics of digital electronics needed for computers

3) To understand the basics of instruction set architecture for reduced and complex instruction sets

4) To understand the basics of processor structure and operation

5) To understand how data is transferred between the processor and I/O devices

**Programming with Python- I **

**Objectives **The objective of this paper is to introduce various concepts of programming to the students using Python.

**Expected learning outcomes **

1) Students should be able to understand the concepts of programming before actually starting to write programs.

2) Students should be able to develop logic for Problem Solving.

3) Students should be made familiar about the basic constructs of programming such as data, operations, conditions, loops, functions etc.

4) Students should be able to apply the problem solving skills using syntactically simple language i.e. **Python (version: 3.X or higher) **

**Free and Open-source Software :-**

**Objective: **Open Source has acquired a prominent place in software industry. Having knowledge of Open Source and its related technologies is an essential for Computer Science student. This course introduces Open Source methodologies and ecosystem to students.

**Expected Learning Outcome: **

1) Upon completion of this course, students should have a good working knowledge of Open Source ecosystem, its use, impact and importance.

2) This course shall help student to learn Open Source methodologies, case studies with real life examples.

** **

**Database Systems **

**Objectives**: The objective of this course is to introduce the concept of the DBMS with respect to the relational model, to specify the functional and data requirements for a typical database application and to understand creation, manipulation and querying of data in databases

**Expected Learning Outcomes **

1) Students should be able to evaluate business information problem and find the requirements of a problem in terms of data.

2) Students should be able to design the database schema with the use of appropriate data types for storage of data in database.

3) Students should be able to create, manipulate, query and back up the databases.

**Discrete Mathematics **

**Objectives**: The purpose of the course is to familiarize the prospective learners with mathematical structures that are fundamentally discrete. This course introduces sets and functions, forming and solving recurrence relations and different counting principles. These concepts are useful to study or describe objects or problems in computer algorithms and programming languages.

**Expected Learning Outcomes: **

1) To provide overview of theory of discrete objects, starting with relations and partially ordered sets.

2) Study about recurrence relations, generating function and operations on them.

3) Give an understanding of graphs and trees, which are widely used in software.

4) Provide basic knowledge about models of automata theory and the corresponding formal languages.

**Descriptive Statistics and Introduction to Probability **

**Objectives**: The purpose of this course is to familiarize students with basics of Statistics. This will be essential for prospective researchers and professionals to know these basics.

**Expected Learning Outcomes**:

1) Enable learners to know descriptive statistical concepts

2) Enable study of probability concept required for Computer learners

**Soft Skills Development **

**Objectives: **To help learners develop their soft skills and develop their personality together with their technical skills. Developing professional, social and academic skills to harness hidden strengths, capabilities and knowledge equip them to excel in real work environment and corporate life. Understand various issues in personal and profession communication and learn to overcome them

**Expected Learning Outcomes: **

1) To know about various aspects of soft skills and learn ways to develop personality

2) Understand the importance and type of communication in personal and professional environment.

3) To provide insight into much needed technical and non-technical qualities in career planning.

4) Learn about Leadership, team building, decision making and stress management

**Semester II – Theory**

**Programming with C **

**Objectives**: The objective of this course is to provide a comprehensive study of the C programming language, stressing upon the strengths of C, which provide the students with the means of writing modular, efficient, maintainable, and portable code.

**Expected Learning Outcomes **

1) Students should be able to write, compile and debug programs in C language.

2) Students should be able to use different data types in a computer program.

3) Students should be able to design programs involving decision structures, loops and functions.

4) Students should be able to explain the difference between call by value and call by reference

5) Students should be able to understand the dynamics of memory by the use of pointers.

6) Students should be able to use different data structures and create/update basic data files.

**Programming with Python – II **

**Objective: **The objective of this paper is to explore the style of structured programming to give the idea to the students how programming can be used for designing real-life applications by reading/writing to files, GUI programming, interfacing database/networks and various other features.

**Expected Learning Outcomes **

1) Students should be able to understand how to read/write to files using python.

2) Students should be able to catch their own errors that happen during execution of programs.

3) Students should get an introduction to the concept of pattern matching.

4) Students should be made familiar with the concepts of GUI controls and designing GUI applications.

5) Students should be able to connect to the database to move the data to/from the application.

6)Students should know how to connect to computers, read from URL and send email.

**Linux **

**Objectives: **This course introduces various tools and techniques commonly used by Linux programmers, system administrators and end users to achieve their day to day work in Linux environment. It is designed for computer students who have limited or no previous exposure to Linux.

**Expected Learning Outcomes: **

1) Upon completion of this course, students should have a good working knowledge of Linux, from both a graphical and command line perspective, allowing them to easily use any Linux distribution.

2) This course shall help student to learn advanced subjects in computer science practically.

3) Student shall be able to progress as a Developer or Linux System Administrator using the acquired skill set.

**Data Structure s **

**Objectives: **To explore and understand the concepts of Data Structures and its significance in programming. Provide and holistic approach to design, use and implement abstract data types. Understand the commonly used data structures and various forms of its implementation for different applications using Python. **Expected Learning Outcomes: **

1) Learn about Data structures, its types and significance in computing

2) Explore about Abstract Data types and its implementation

3) Ability to program various applications using different data structure in Python

**Calculus **

**Objectives**: The course is designed to have a grasp of important concepts of Calculus in a scientific way. It covers topics from as basic as definition of functions to partial derivatives of functions in a gradual and logical way. The learner is expected to solve as many examples as possible to a get compete clarity and understanding of the topics covered.

**Expected Learning Outcomes: **

1) Understanding of Mathematical concepts like limit, continuity, derivative, integration of functions.

2) Ability to appreciate real world applications which uses these concepts.

3) Skill to formulate a problem through Mathematical modeling and simulation.

**Statistical Methods and Testing of Hypothesis **

**Objectives**: The purpose of this course is to familiarize students with basics of Statistics. This will be essential for prospective researchers and professionals to know these basics.

**Expected Learning Outcomes**:

1) Enable learners to know descriptive statistical concepts

2) Enable study of probability concept required for Computer learners

**Green Technologies **

**Objectives: **To familiarize with the concept of Green Computing and Green IT infrastructure for making computing and information system environment sustainable. Encouraging optimized software and hardware designs for development of Green IT Storage, Communication and Services. To highlight useful approaches to embrace green IT initiatives.

**Expected Learning Outcomes: **

1) Learn about green IT can be achieved in and by hardware, software, network communication and data center operations.

2) Understand the strategies, frameworks, processes and management of green IT