SYcs Computer Science Syllabus
SYcs Computer Science Syllabus
Preamble
The revised and restructured curriculum for the Three-year integrated course is systematically
designed considering the current industry needs in terms of skills sets demanded under new
technological environment. It also endeavours to align the programme structure and course
curriculum with student aspirations and corporate expectations. The proposed curriculum is more
contextual, industry affable and suitable to cater the needs of society and nation in present day
context.
Second year of this course is about studying core computer science subjects. Theory of Computation
course provides understanding of grammar, syntax and other elements of modern language designs.
It also covers developing capabilities to design formulations of computing models and its
applications in diverse areas.
The course in Operating System satisfies the need of understanding the structure and functioning of
system. Programming holds key indispensable position in any curriculum of Computer Science. It is
essential for the learners to know how to use object oriented paradigms. There is also one dedicated
course Android Developer Fundamentals as a skill enhancement catering to modern day needs of
Mobile platforms and applications. The syllabus has Database Systems courses in previous
semesters. The course in Database Management Systems is its continuation in third semester. The
course has objectives to develop understanding of concepts and techniques for data management
along with covers concepts of database at advance level.
The course of Combinatorics and Graph Theory in third semester and the course of Linear Algebra in
fourth semester take the previous courses in Mathematics. Graph theory is rapidly moving into the
mainstream mainly because of its applications in diverse fields which include can further open new
opportunities in the areas of genomics, communications networks and coding theory, algorithms and
computations and operations research.
Introducing one of the upcoming concepts Physical Computing and IoT programming will definitely
open future area as Embedded Engineer, involvement in IoT projects, Robotics and many more. The
RasPi is a popular platform as it offers a complete Linux server in a tiny platform for a very low cost
and custom-built hardware with minimum complex hardware builds which is easier for projects in
education domain.
S.Y.B.Sc. (Semester III and IV)
Computer Science Syllabus
Credit Based Semester and Grading System
To be implemented from the Academic year 2017-2018
SEMESTER III
Course TOPICS Credits L / Week
USCS301 Theory of Computation 2 3
USCS302 Core JAVA 2 3
USCS303 Operating System 2 3
USCS304 Database Management Systems 2 3
USCS305 Combinatorics and Graph Theory 2 3
USCS306 Physical Computing and IoT Programming 2 3
USCS307 Skill Enhancement: Web Programming 2 3
USCSP301 USCS302+USCS303+USCS304 3 9
USCSP302 USCS305+USCS306+USCS307 3 9
SEMESTER IV
Course TOPICS Credits L / Week
USCS401 Fundamentals of Algorithms 2 3
USCS402 Advanced JAVA 2 3
USCS403 Computer Networks 2 3
USCS404 Software Engineering 2 3
USCS405 Linear Algebra using Python 2 3
USCS406 .NET Technologies 2 3
Skill Enhancement: Android Developer 2 3
USCS407
Fundamentals
USCSP401 USCS401+ USCS402+ USCS403 3 9
USCSP402 USCS405+ USCS406+ USCS407 3 9
SEMESTER III
THEORY
Textbook(s):
1) Theory of Computer Science, K. L. P Mishra, Chandrasekharan, PHI,3rd Edition
2) Introduction to Computer Theory, Daniel Cohen, Wiley,2nd Edition
3) Introductory Theory of Computer Science, E.V. Krishnamurthy,Affiliated East-West Press.
Additional Reference(s):
1) Theory of Computation, Kavi Mahesh, Wiley India
2) Elements of The Theory of Computation, Lewis, Papadimitriou, PHI
3) Introduction to Languages and the Theory of Computation, John E Martin, McGraw-Hill
Education
4) Introduction to Theory of Computation, Michel Sipser, Thomson
Course: TOPICS (Credits : 02 Lectures/Week:03)
USCS302 Core Java
Objectives:
The objective of this course is to teach the learner how to use Object Oriented paradigm to develop
code and understand the concepts of Core Java and to cover-up with the pre-requisites of Core java.
Expected Learning Outcomes:
1. Object oriented programming concepts using Java.
2. Knowledge of input, its processing and getting suitable output.
3. Understand, design, implement and evaluate classes and applets.
4. Knowledge and implementation of AWT package.
The Java Language: Features of Java, Java programming format, Java Tokens,
Java Statements, Java Data Types, Typecasting, Arrays
OOPS: Introduction, Class, Object, Static Keywords, Constructors, this Key
Word, Inheritance, super Key Word, Polymorphism (overloading and
Unit I 15L
overriding), Abstraction, Encapsulation, Abstract Classes, Interfaces
String Manipulations: String, String Buffer, String Tokenizer
Packages: Introduction to predefined packages (java.lang, java.util, java.io,
java.sql, java.swing), User Defined Packages, Access specifiers
Exception Handling: Introduction, Pre-Defined Exceptions, Try-Catch-Finally,
Throws, throw, User Defined Exception examples
Multithreading: Thread Creations, Thread Life Cycle, Life Cycle Methods,
Synchronization, Wait() notify() notify all() methods
Unit II 15L
I/O Streams: Introduction, Byte-oriented streams, Character- oriented streams,
File, Random access File, Serialization
Networking: Introduction, Socket, Server socket, Client –Server
Communication
Wrapper Classes: Introduction, Byte, Short, Integer, Long, Float, Double,
Character, Boolean classes
Collection Framework: Introduction, util Package interfaces, List, Set, Map,
List interface & its classes, Set interface & its classes, Map interface & its classes
Inner Classes: Introduction, Member inner class, Static inner class, Local inner
class, Anonymous inner class
Unit III AWT: Introduction, Components, Event-Delegation-Model, Listeners, Layouts, 15L
Individual components Label, Button, CheckBox, Radio Button, Choice, List,
Menu, Text Field, Text Area
Textbook(s):
1) Herbert Schildt, Java The Complete Reference, Ninth Edition, McGraw-Hill Education, 2014
Additional Reference(s):
1) E. Balagurusamy, Programming with Java, Tata McGraw-Hill Education India, 2014
2) Programming in JAVA, 2nd Ed, Sachin Malhotra & Saurabh Choudhary, Oxford Press
3) The Java Tutorials: http://docs.oracle.com/javase/tutorial/
Additional Reference(s):
1. Achyut S. Godbole, Atul Kahate, Operating Systems, Tata McGraw Hill
2. Naresh Chauhan, Principles of Operating Systems, Oxford Press
3. Andrew S Tanenbaum, Herbert Bos, Modern Operating Systems, 4e Fourth Edition,
Pearson Education, 2016
Course: TOPICS (Credits : 02 Lectures/Week:03)
USCS304 Database Management Systems
Objectives:
To develop understanding of concepts and techniques for data management and learn about
widely used systems for implementation and usage.
Expected Learning Outcomes:
1. Master concepts of stored procedure and triggers and its use.
2. Learn about using PL/SQL for data management
3. Understand concepts and implementations of transaction management and crash
recovery
Stored Procedures: Types and benefits of stored procedures, creating stored
procedures, executing stored procedures, altering stored procedures, viewing
stored procedures.
Triggers: Concept of triggers, Implementing triggers – creating triggers,
Insert, delete, and update triggers, nested triggers, viewing, deleting and
Unit I modifying triggers, and enforcing data integrity through triggers. 15L
Sequences: creating sequences, referencing, altering and dropping a sequence.
File Organization and Indexing: Cluster, Primary and secondary indexing,
Index data structure: hash and Tree based indexing, Comparison of file
organization: cost model, Heap files, sorted files, clustered files. Creating,
dropping and maintaining indexes.
Fundamentals of PL/SQL: Defining variables and constants, PL/SQL
expressions and comparisons: Logical Operators, Boolean Expressions, CASE
Expressions Handling, Null Values in Comparisons and Conditional
Statements, PL/SQL Datatypes: Number Types, Character Types, Boolean
Type, Datetime and Interval Types.
Overview of PL/SQL Control Structures: Conditional Control: IF and
CASE Statements, IF-THEN Statement, IF-THEN-ELSE Statement,
Unit II IFTHEN-ELSIF Statement, CASE Statement, Iterative Control: LOOP and 15L
EXIT Statements, WHILE-LOOP, FOR-LOOP, Sequential Control: GOTO
and NULL Statements
Textbook(s):
1) Ramakrishnam, Gehrke, Database Management Systems, Bayross, McGraw‐Hill,3rd Edition
2) Abraham Silberschatz, Henry F. Korth,S. Sudarshan , Database System Concepts, 6th Edition
3) Ivan Bayross, “SQL,PL/SQL -The Programming language of Oracle”, B.P.B. Publications
Additional Reference(s):
1) Ramez Elmasri & Shamkant B.Navathe, Fundamentals of Database Systems,
Pearson Education
2) Robert Sheldon, Geoff Moes, Begning MySQL, Wrox Press.
3) Joel Murach, Murach’s MySQL, Murach
Course: TOPICS (Credits : 02 Lectures/Week: 03)
USCS305 Combinatorics and Graph Theory
Objectives:
To give the learner a broad exposure of combinatorial Mathematics through applications especially
the Computer Science applications.
Expected Learning Outcomes:
1. Appreciate beauty of combinatorics and how combinatorial problems naturally arise in
many settings.
2. Understand the combinatorial features in real world situations and Computer Science
applications.
3. Apply combinatorial and graph theoretical concepts to understand Computer Science
concepts and apply them to solve problems
Additional Reference(s):
1) Applied Combinatorics, sixth.edition, Alan Tucker, Wiley; (2016)
2) Graph Theory and Combinatorics, Ralph P. Grimaldi, Pearson Education; Fifth edition
(2012)
3) Combinatorics and Graph Theory, John Harris, Jeffry L. Hirst, Springer( 2010).
4) Graph Theory: Modeling, Applications and Algorithms, Agnarsson, Pearson Education India
(2008).
Additional Reference(s):
1) HTML, XHTML, and CSS Bible Fifth Edition, Steven M. Schafer, WILEY
2) Learn to Master HTML 5, scriptDemics, StarEdu Solutions Pvt Ltd.
3) Learning PHP, MySQL, JavaScript, CSS & HTML5, Robin Nixon, O’Reilly
4) PHP, MySQL, JavaScript & HTML5 All-in-one for Dummies, Steve Suehring, Janet Valade
Wiley
Suggested List of Practical- SEMESTER III
Tree algorithms: What is a Tree? Glossary, Binary Trees, Types of Binary Trees,
Properties of Binary Trees, Binary Tree Traversals, Generic Trees (N-ary Trees),
Threaded Binary Tree Traversals, Expression Trees, Binary Search Trees
(BSTs), Balanced Binary Search Trees, AVL (Adelson-Velskii and Landis)
Unit II 15L
Trees
Graph Algorithms: Introduction, Glossary, Applications of Graphs, Graph
Representation, Graph Traversals, Topological Sort, Shortest Path Algorithms,
Minimal Spanning Tree
Selection Algorithms: What are Selection Algorithms? Selection by Sorting,
Partition-based Selection Algorithm, Linear Selection Algorithm - Median of
Medians Algorithm, Finding the K Smallest Elements in Sorted Order
Algorithms Design Techniques: Introduction, Classification, Classification by
Implementation Method, Classification by Design Method
Greedy Algorithms: Introduction, Greedy Strategy, Elements of Greedy
Algorithms, Advantages and Disadvantages of Greedy Method, Greedy
Applications, Understanding Greedy Technique
Divide and Conquer Algorithms: Introduction, What is Divide and Conquer
Strategy? Divide and Conquer Visualization, Understanding Divide and
Unit III Conquer, Advantages of Divide and Conquer, Disadvantages of Divide and 15L
Conquer, Master Theorem, Divide and Conquer Applications
Dynamic Programming: Introduction, What is Dynamic Programming Strategy?
Properties of Dynamic Programming Strategy, Problems which can be solved
using Dynamic Programming, Dynamic Programming Approaches, Examples
of Dynamic Programming Algorithms, Understanding Dynamic Programming,
Longest Common Subsequence
Textbook(s):
1. Data Structure and Algorithmic Thinking with Python, Narasimha Karumanchi , CareerMonk
Publications, 2016
2. Introduction to Algorithm, Thomas H Cormen, PHI
Additional References(s):
1. Data Structures and Algorithms in Python, Michael T. Goodrich, Roberto Tamassia, Michael
H. Goldwasser, 2016, Wiley
2. Fundamentals of Computer Algorithms, Sartaj Sahni and Sanguthevar Rajasekaran Ellis
Horowitz, Universities Press
Course: TOPICS (Credits : 02 Lectures/Week: 03)
USCS402 Advanced Java
Objectives:
Explore advanced topic of Java programming for solving problems.
Expected Learning Outcomes:
1) Understand the concepts related to Java Technology
2) Explore and understand use of Java Server Programming
Swing: Need for swing components, Difference between AWT and swing,
Components hierarchy, Panes, Swing components: Jlabel, JTextField and
JPasswordField, JTextAres, JButton, JCheckBox, JRadioButton, JComboBox
and JList
Unit I 15L
JDBC: Introduction, JDBC Architecture, Types of Drivers, Statement,
ResultSet, Read Only ResultSet, Updatable ResultSet, Forward Only
ResultSet, Scrollable ResultSet, PreparedStatement, Connection Modes,
SavePoint, Batch Updations, CallableStatement, BLOB & CLOB
Additional Reference(s):
1) Advanced Java Programming, Uttam K. Roy, Oxford University Press
2) The Java Tutorials: http://docs.oracle.com/javase/tutorial/)
3) The Java Tutorials of Sun Microsystems Inc
Additional Reference(s):
1) Computer Network, Bhushan Trivedi, Oxford University Press
2) Data and Computer Communication, William Stallings, PHI
Additional Reference(s):
1) Software Engineering, Ian Sommerville, Pearson Education
2) Software Engineering: Principles and Practices”,Deepak Jain,OXFORD University Press,
3) Fundamentals of Software Engineering, Fourth Edition, Rajib Mall, PHI
4) Software Engineering: Principles and Practices, Hans Van Vliet, John Wiley & Sons
5) A Concise Introduction to Software Engineering, Pankaj Jalote, Springer
Additional References:
1) Linear Algebra and Probability for Computer Science Applications, Ernest Davis, A K
Peters/CRC Press (2012).
2) Linear Algebra and Its Applications, Gilbert Strang, Cengage Learning, 4th Edition (2007).
3) Linear Algebra and Its Applications, David C Lay, Pearson Education India; 3rd Edition (2002)
Course: TOPICS (Credits : 02 Lectures/Week: 03)
USCS406 .Net Technologies
Objectives:
To explore .NET technologies for designing and developing dynamic, interactive and responsive
web applications.
Expected Learning Outcomes:
1. Understand the .NET framework
2. Develop a proficiency in the C# programming language
3. Proficiently develop ASP.NET web applications using C#
4. Use ADO.NET for data persistence in a web application
The .NET Framework:.NET Languages, Common Language Runtime, .NET
Class Library
C# Language Basics: Comments, Variables and Data Types, Variable
Operations, Object-Based Manipulation, Conditional Logic, Loops, Methods,
Classes, Value Types and Reference Types, Namespaces and Assemblies,
Inheritance, Static Members, Casting Objects, Partial Classes
Unit I 15L
ASP.NET: Creating Websites, Anatomy of a Web Form - Page Directive,
Doctype, Writing Code - Code-Behind Class, Adding Event Handlers, Anatomy
of an ASP.NET Application - ASP.NET File Types, ASP.NET Web Folders,
HTML Server Controls - View State, HTML Control Classes, HTML Control
Events, HtmlControl Base Class, HtmlContainerControl Class,
HtmlInputControl Class, Page Class, global.asax File, web.config File
Web Controls: Web Control Classes, WebControl Base Class, List Controls,
Table Controls, Web Control Events and AutoPostBack, Page Life Cycle
State Management: ViewState, Cross-Page Posting, Query String, Cookies,
Session State, Configuring Session State, Application State
Unit II Validation: Validation Controls, Server-Side Validation, Client-Side 15L
Validation, HTML5 Validation, Manual Validation, Validation with Regular
Expressions
Rich Controls: Calendar Control, AdRotator Control, MultiView Control
Themes and Master Pages: How Themes Work, Applying a Simple Theme,
Handling Theme Conflicts, Simple Master Page and Content Page, Connecting
Master pages and Content Pages, Master Page with Multiple Content Regions,
Master Pages and Relative Paths
Website Navigation: Site Maps, URL Mapping and Routing, SiteMapPath
Control, TreeView Control, Menu Control
ADO.NET: Data Provider Model, Direct Data Access - Creating a Connection,
Select Command, DataReader, Disconnected Data Access
Data Binding: Introduction, Single-Value Data Binding, Repeated-Value Data
Binding, Data Source Controls – SqlDataSource
Data Controls: GridView, DetailsView, FormView
Unit III 15L
Working with XML: XML Classes – XMLTextWriter, XMLTextReader
Caching: When to Use Caching, Output Caching, Data Caching
LINQ: Understanding LINQ, LINQ Basics,
ASP.NET AJAX: ScriptManager, Partial Refreshes, Progress Notification,
Timed Refreshes
Textbook(s):
1) Beginning ASP.NET 4.5 in C#, Matthew MacDonald, Apress(2012)
Additional Reference(s):
1) The Complete Reference ASP .NET, MacDonald, Tata McGraw Hill
2) Beginning ASP.NET 4 in C# and VB Imar Spanajaars, WROX
What is Android? Obtaining the required tools, creating first android app,
understanding the components of screen, adapting display orientation, action
bar, Activities and Intents, Activity Lifecycle and Saving State, Basic Views:
Unit I TextView, Button, ImageButton, EditText, CheckBox, ToggleButton, 15L
RadioButton, and RadioGroup Views, ProgressBar View,
AutoCompleteTextView, TimePicker View, DatePicker View, ListView View,
Spinner View
User Input Controls, Menus, Screen Navigation, RecyclerView, Drawables,
Themes and Styles, Material design, Providing resources for adaptive layouts,
Unit II 15L
AsyncTask and AsyncTaskLoader, Connecting to the Internet, Broadcast
receivers, Services, Notifications, Alarm managers, Transferring data efficiently
Data - saving, retrieving, and loading: Overview to storing data, Shared
preferences, SQLite primer, store data using SQLite database, ContentProviders,
Unit III loaders to load and display data, Permissions, performance and security, 15L
Textbook(s):
1) “Beginning Android 4 Application Development”, Wei-Meng Lee, March 2012, WROX.
Additional Reference(s):
1) https://developers.google.com/training/courses/android-fundamentals
2) https://www.gitbook.com/book/google-developer-training/android-developer-fundamentals-c
ourse-practicals/details
Suggested List of Practical – SEMESTER IV
***********************************