## B.Sc. (Computer Science)

XII (H.S.C.) Examination with Mathematics as one of the subject and secured not less than 50% marksin aggregate at first attempt (open category) and notless than 45% marks in aggregate at first attempt (reserved category candidates).

A candidate for being eligible for admission to the Three year integrated course leading to the degree for Bachelor of Science (B.Sc.) must have passed higher Secondary School Certificate Examination (Std. XII) in Science stream conducted by the Maharashtra State Board of Secondary Education with not less than 45% and Higher Secondary with Mathematics and Statistics as one of subject or its equivalent.

**Admission will be on merit, based on order of preference as follows:**

Aggregate marks at H.S.C. or equivalent.

Aggregate marks in Science Group (Physics, Chemistry and Mathematics)

Marks in Mathematics and Statistics and Physics.

Marks in Mathematics and Statistics.

The course is full time with six semester spread over three year.

As the name suggests, this professional course focuses on the discipline of computer science. The course covers important topics related to computer science such as – coding, programming languages, computer hardware and software, networking, database management, information technology, mathematics, statistics and electronics.

• There are bright career prospects for computer science professionals or software professionals in recent scenario. With the opening of huge software and IT companies in India, the job opportunities for trained professionals have increased considerably.

• B.Sc. Computer Science graduates have both government and private job opportunities available in front of them. Some of the prime recruiters are –

Software companies

MNCs (Technical support wing)

Banks

Consultancies

Educational institutes

Relevant Government departments

**• In the above mentioned work setups, B.Sc. Computer Science graduates may take up the following job profiles –**

Software developer

System admin

IT officer

Web Designer

Software Tester

Mobile Application Developer

**B.Sc.(CS)**

The curriculum motivates and encourages students to understand the concept of following areas:

• Demonstrate understanding of the principles and working of the hardware and software aspects of computer systems.• Design, implements, test, and evaluate a computer system, component, or algorithm to meet desired needs and to solve a computational problem.

• To enhance skills and adapt new computing technologies for attaining professional excellence and carrying research.

• Design and develop computer programs/computer-based systems in the areas related to algorithms, networking, web design, cloud computing, IoT and data analytics of varying complexity.

• Acquaint with the contemporary trends in industrial/research settings and thereby innovate novel solutions to existing problems.

**DEPARTMENT OF COMPUTER SCIENCE**

Class | Course | Outcomes (Students will be able to ) |
---|---|---|

FYCS Sem-I |
Computer Organization and Design | 1. Understand binary number system, logic gates, Boolean laws 2. Simplify the Boolean equations using k-map and tabulation method and design different combinational circuits 3. Design and implement different sequential circuits with flip flops,registers and counters. 4. Design and implement analog to digital and digital to analog convertors. |

FYCS Sem-I |
Programming with Python | 1. Basics of Python programming. 2. Decision Making and Functions in Python. 3. Object Oriented Programming using Python. 4. Files Handling in Python. 5. GUI Programming and Databases operations in Python. |

FYCS Sem-I |
Free and Open Source Software | 1 explain common open source licenses. 2 Understand the concept of copyright,patent,copyleft. 3 Understand the Philosophy of Software Freedom, Free Software. 4 Understand the Philosophy of OSS, Closed software, Public Domain Software, Shared software, Shared source. 5 Understand the concept of Linux, Android, Wikipedia, GNU Linux, Mozilla, github. 6 Understand the concept of Virtualization, containerization. |

FYCS Sem-I |
Database Systems | 1. Understand DBMS concepts, data models and Architecture. 2. Use SQL for database management. 3. Understand ER concepts and ER mapping to relational model 4. Apply the concepts of relational algebra and calculus. 5. Apply normalization process to construct the data base. 6. Understand Concurrency and recovery strategies of DBMS. |

FYCS Sem-I |
Discrete Mathematics | 1. Understand sets, relations and digraphs to solve applied problems. 2. Analyze the statements presented in DNF and CNF 3. Examine the validity of argument by using propositional and predicate calculus. 4. Apply basic counting techniques to solve the combinatorial problems. 5. Understand the basic concepts of graph theory and some related theoretical problems. |

FYCS Sem-I |
Descriptive Statistics and Introduction to Probability | |

FYCS Sem-I |
Soft Skills Development | 1 The Seven Cs of Effective Communication 2 Understand Types of Communication 3 Writing Business Messages and Documents: 4 Developing Oral Communication Skills for Business 5 Understand Presentation Process |

FYCS SEM II |
Programming with C | 1. Understand the fundamentals of C programming. 2. Choose the loops and decision making statements to solve the problem. 3. Implement different Operations on arrays. 4. Use functions to solve the given problem. 5. Understand pointers, structures and unions. 6. Implement file Operations in C programming for a given application. |

FYCS SEM II |
Programming with Python– II | 1. Understand How to read and write to files using python. 2. Tracing their own error during execution of programs. 3. learning concept of Pattern Matching. 4. learning GUI Controls and Making design using Them. 5. GUI Programming and Databases operations in Python. |

FYCS SEM II |
Linux | 1. Understand good working knowledge of Linux from graphical and command line perspective. 2. Making them ready to handle any Linux distribution. 3. Making them Skillful as Linux System administrator perspective. 4. learning different types of commands use them in shell scripting. 5. creating scripts based programs using different command. |

FYCS SEM II |
Data Structures | 1. Basics of Data Structures. 2. Learning Abstract Data Types and its implementation. 3. Data structures and its form can be used to design and implement ADT. 4. creating various applications using different data structure in Python. 5. Learning significance of Data structures in computing. |

FYCS SEM II |
Calculus | 1. Understanding of Mathematical concepts like limit,continuity ,derivative,integration of function. 2. using this concepts with respect to real world. 3. Developing skills to formulate a problem through Mathematical Modeling and simulation. 4. Learning functions and derivatives of functions in gradual and logical way. 5. using modern simulation tools(R studio,scilab) to implement this concepts. |

FYCS SEM II |
Statistical Methods and Testing of Hypothesis | 1. Enables learners to know descriptive statistical concepts. 2. Study of probability related concepts. 3. testing of hypthesis to test each every possible result. 4. Skill to formulate a proboem through mathematical Modeling and simulation. 5. learning different statistical techniques. |

FYCS SEM II |
Green Technologies | 1. To understand what Green IT is and How it can help improve environmental Sustainability. 2. To understand the principles and practices of Green IT. 3. To understand how Green IT is adopted or deployed in enterprises. 4. To understand how data centres, cloud computing, storage systems, software and networks can be made greener. |

SYCS SEM III |
Theory of Computation | 1. Understand the basic concepts of formal languages of finite automata techniques. 2. Solve regular expressions and various problems to minimize FA. 3. Apply various languages to construct context free grammar. 4. Solve various problems of applying normal form techniques, Push down automata and Turing Machines. |

SYCS SEM III |
Core Java | 1. Explain the fundamental concepts and features of Java Programming language. 2. Implement the basic principles of Object Oriented Programming which includes inheritance, polymorphism, encapsulation and abstraction and also Arrays, data and Text File Operations. 3. Develop Graphical User Interface applications and Web based applications in Java by importing applet, AWT and SWING packages. 4. Implement the role of XML for the management and delivery of electronic information for given application. 5. Develop Web based applications by Servlets and JSP to have an interactive application such as Client Server Architecture. |

SYCS SEM III |
Operating System | 1. To understand the main components of an OS & their functions. 2. To study the process management and scheduling. 3. To understand various issues in Inter Process Communication (IPC) and the role of OS in IPC. 4. To understand the concepts and implementation Memory management policies and virtual memory. 5. To understand the working of an OS as a resource manager, file system manager, process manager, memory manager and I/O manager and methods used to implement the different parts of OS. 6. To study the need for special purpose operating system with the advent of new emerging technologies. |

SYCS SEM III |
Database management Systems | 1. Understand DBMS concepts, data models and Architecture. 2. Use SQL for database management. 3. Understand ER concepts and ER mapping to relational model 4. Apply the concepts of relational algebra and calculus. 5. Apply normalization process to construct the data base. 6. Understand Concurrency and recovery strategies of DBMS. |

SYCS SEM III |
Combinactories and Graph Theory | 1.Learning Combinational Mathematics through computer science application. 2.Understanding graph theory to the extends of computer science . 3. applying probability to combinactorics to laran graph theory. 4. understanding netowrk flows , examples . 5.understanding combinational features in real world situations and computer science . |

SYCS SEM III |
Physical computing and IOT prog | 1.Learing System On Chip Architectures . 2. Introduction and preparing Raspberry Pi with hardware and installation. 3.Learn physical interfaces and electronics of Raspberry Pi . 4. program Raspberry pi using practicals . 5. Creating consumer friendly environment to make IoT use safe and secure with proper use of protocols . |

SYCS SEM III |
Web programming | 1. Students will learn Internet and the World Wide Web. 2. students will understand concept of HTML5 Tables, Forms and Media. 3. Students will learn Client-Side JavaScript, Server-Side JavaScript, JavaScript Objects, JavaScript Security. 4. Students will learn Advanced PHP and MySQL. |

SYCS SEM IV |
Computer Networks | 1. Describe various standard network models. 2. Understand various guided transmission media. 3. Analyse error detection and error correction codes. 4. Understand the concepts behind medium access control sub layer. 5. Implement and analyse routing and congestion issues in network design. 6. Analyse the underlying protocols in transport layer. 7. Identify different applications in Application layer. |

SYCS SEM IV |
Android | 1. To gain knowledge of installing Android Studio and Cross Platform Integrated Development Environment. 2. To learn designing of User Interface and Layouts for Android App. 3. To learn how to use intents to broadcast data within and between Applications. 4. To use Content providers and Handle Databases using SQLite. 5. To introduce Android APIs for Camera and Location Based Service. 6. To discuss various security issues with Android Platform. |

SYCS SEM IV |
Fundamental of Algorithm | 1. students will learn the fundamental concepts of Data structures, space complexity and time complexity. 2. Learn to Design linear data structures stacks, queues and linked lists. 3. Design non linear data structures trees and Graphs, and implement their operations. 4. Apply appropriate data structure for a given application. 5. Implement different searching and sorting techniques. |

SYCS SEM IV |
Advanced Java | 1. Explain the Advanced concepts and features ofAdvanced Java Programming language. 2. Implement the basic understanding of JSP (Java Server Programming). 3. understanding Servlet concepts . 4. understanding Database Connectivity using JAVA . 5. Develop Web based applications by Servlets and JSP to have an interactive application such as Client Server Architecture. |

SYCS SEM IV |
Software Engineering | 1. Understand basic concepts of software engineering. 2. Understand the concept of SDLC. 3.Compare different software engineering process models. 4. Learn various UML diagrams, CMM model. 5. Learn to Apply different testing techniques. |

SYCS SEM IV |
DOT NET TECHNOLOGIES | 1. Students will understand the concepts of .NET, CLR, Objects, and Namespaces. 2.Students will learn the concepts of Web Form Fundamentals. 3. Students will learn the concepts ofUnderstand Error Handling, Logging, and Tracing 4. Students will learn the concepts ofUnderstand Styles, Themes, and Master Pages 5. Students will Learn ADO.NET Fundamentals. 6. Students will Understand the concepts ofXML, ASP.NET AJAX. |

SYCS SEM IV |
Linear Algebra using Python | 1.Appreciate the relevance of Linear algebra in the field of computer science. 2.understand the concepts through program implementation. 3.instill a computational thinking while learning linear algebra. 4.implement Linear algebra concepts using python application. 5.testing and experimenting concepts with python. |

TYCS SEM V |
Software testing and Quality Assurance | 1 Basic software debugging methods. 2. White box testing methods and techniques. 3. Black Box testing methods and techniques. 4. Designing test plans. 5 Different testing tools 6. Quality Assurance models. |

TYCS SEM V |
Linux Server Administration | 1. Students will Understand the concepts of Red Hat Enterprise Linux. 2. Students will Understand the concepts of Configuring and Managing Storage,Connecting to the Network. 3. Students will Learn to Set Up Cryptographic Services. 4. Students will Learn Configuring DNS and DHCP. 5. Students will Learn Configuring Apache on Red Hat Enterprise Linux. 6. Students will Understand the concepts of Bash Shell Scripting. |

TYCS SEM V |
Information and Network Security | 1 .Learning basics of information and Network security. 2. Learning Cryptography . 3. Understanding Encryption techniques. 4. Learning IP,Mail security. 5. Managing Firewalls. |

TYCS SEM V |
Web services | 1. Learning web services technologies like SOAP,WSDL,UDDI. 2. Developing service Oriented Applications with WCF. 3. The Rest Architectural style. 4. Design Secure web services and QoS. 5. WCF features. |

TYCS SEM V |
Game Programming | 1. DirectX Basics. 2. VR ,MR ,AR. 3. vectors , Direct 3D. 4. Interploation. 5. Unity. |

TYCS SEM VI |
Cloud Computing | 1. Basics of cloud computing. 2. Key concepts of virtualization. 3. Different Cloud Computing services. 4. Different Cloud deployment models. |

TYCS SEM VI |
Cyber forensics | 1. The student will be able to plan and prepare for all stages of an investigation - detection, initial response and management interaction, investigate various media to collect evidence, report them in a way that would be acceptable in the court of law. 2. Understanding Network Forensics. 3. Understanding cell phone forensics. 4. Learning Internet and Email Forensics. 5. Getting Familiar with Legal Aspects of Digital Forensics. |

TYCS SEM VI |
Data Science | 1 .understanding What is Data? Different kinds of data we can use. 2. Learning all Data management techniques 3.Data curation Using Semi structured,unstructured data 4.Statistical Modeling and machine learning 5 .Undrerstanding Supervised Learning. |

TYCS SEM VI |
Ethical Hacking | 1. Learner will know to identify security vulnerabilities and weaknesses in the target applications. 2. Difference Between Hacking and Cracking. 3. They will also know to test and exploit systems using various tools. 4. Understand the impact of hacking in real time machines. 5. Learning Additional Security Mechanisms. |

TYCS SEM VI |
Informational retrieval | 1. Introduction to Information retrieval. 2. Understanding Link analysis. 3. Learning about web Search Engines. 4. XML retrieval. 5. Understanding Specialized search. |

SEMESTER I

SEMESTER II

SEMESTER III

SEMESTER IV

As per University Guidelines.