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

Computer Science 6th sem Syllabus

The document outlines the curriculum for a B.Sc in Computer Science for the years 2024-2025, detailing various subjects including Fundamentals of Artificial Intelligence, Software Testing, Web Technologies II, and Data Analytics. Each subject includes course objectives, contents, and outcomes, focusing on practical applications and theoretical knowledge in AI, software testing methodologies, web development, and data analysis techniques. Learning resources and examination schemes are also provided for each subject.

Uploaded by

ommsutar15
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views

Computer Science 6th sem Syllabus

The document outlines the curriculum for a B.Sc in Computer Science for the years 2024-2025, detailing various subjects including Fundamentals of Artificial Intelligence, Software Testing, Web Technologies II, and Data Analytics. Each subject includes course objectives, contents, and outcomes, focusing on practical applications and theoretical knowledge in AI, software testing methodologies, web development, and data analysis techniques. Learning resources and examination schemes are also provided for each subject.

Uploaded by

ommsutar15
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 22

Autonomy:2024-2025 B.

Sc Computer Science

Subject Code: CS-361


Subject Title: Fundamentals of Artificial Intelligence
Teaching Scheme No. of Credits Examination Scheme
36 Lectures 2 CE : 15 marks
SEE: 35 marks
Course Objectives:
1. To understand the core concepts of Artificial Intelligence (AI).
2. To learn the primary algorithms and techniques that power AI.
3. To understand fundamentals of Game Theory.
4. To acquire the ability to identify real-world problems that can be solved or enhanced
Using AI techniques and algorithm.
Course Contents

Unit 1 Introduction to Artificial Intelligence (5L)


1.1 What is AI?
1.2 The Foundations of Artificial Intelligence
1.3 The history of Artificial Intelligence
1.4 Applications of AI
1.5 Early work in AI and related fields
1.6 AI problems and Techniques.
Unit 2 Problem solving and Searching Techniques (12L)
2.1 Defining AI problems as a State Space Search: example
2.2 Production Systems
2.3Search and control strategies-BFS,DFS
2.4 Problem Characteristics
2.5 Production System characteristics
2.6 Issues in Design of Search Programs
2.7 Additional problems
2.8 Heuristic search techniques:
2.8.1. Generate and test
2.8.2. Hill Climbing
2.8.3. Best-First search
2.8.4. Problem Reduction
2.8.5. Constraint Satisfaction
2.8.6. Means-Ends Analysis
2.8.7. A*,AO* algorithm.
Unit 3 Knowledge Representation (12L)
3.1 Representations and Mappings
3.2 Approaches to Knowledge Representation
3.3 Representing Simple facts in Logic
MES’s NOWROSJEE WADIA COLLEGE, PUNE 01 pg. 31
Autonomy:2024-2025 B.Sc Computer Science

3.4 Representing instance and ISA Relationships


3.5 Knowledge representation method
3.6 Propositional Logic
3.7 Predicate logic
3.8 Computable Functions and Predicates
3.9 Resolution
3.10 Forward and backward chaining
3.11 Game Playing-Minimax Search Procedures
3.12 Adding alpha-beta cutoffs.
Unit 4 Slot and Filter Structures (7L)
4.1 Weak structures
4.2 Semantic networks
4.3 Frames
4.4 Strong Structures
4.5 Conceptual Dependency
4.6 Scripts
4.7 CYC

Course Outcomes:
On completion of the course, students will be able to:
CO1. Identify real-world problems that can be solved or enhanced using AI techniques and
algorithms.
CO2. Apply basic AI techniques to solve real-world problems,
CO3. Stay informed about the latest advancements and future trends in the field of AI
Learning Resources:
1. Artificial Intelligence, By Elaine Rich and Kevin Knight , 3rd Edition Tata McGraw Hill,
2. Introduction to Artificial Intelligence and Expert System, By Dan Patterson , 2nd Printing,
Prentice Hall of India Pvt. Ltd., New Delhi, 1997

MES’s NOWROSJEE WADIA COLLEGE, PUNE 01 pg. 32


Autonomy:2024-2025 B.Sc Computer Science

Subject Code: CS-362


Subject Title: Software Testing
Teaching Scheme: No. of Credits: Examination Scheme:
36 Lectures 2 CE:15marks
SEE: 35marks
Course Objectives:
1. To provide the knowledge of software testing techniques.
2. To understand how testing methods can be used as an effective tool in quality
assurance of software.
3. To provide skills to design test case plan for testing software.
4. To provide knowledge of latest testing methods.

Course Contents
Unit 1 Introduction to Software Testing (5L)
1.1 Basics of Software Testing – faults, errors and failures Testing objectives
1.2 Principles of testing
1.3 Testing and debugging
1.4 Testing metrics and measurements
1.5 Verification and Validation
1.6 Testing Life Cycle
Unit 2 Software Testing Strategies & Techniques (10L)
2.1 Testability - Characteristics lead to testable software
2.2 Test characteristics
2.3 Test Case Design for Desktop, Mobile, Web application using Excel
2.4 White Box Testing - Basis path testing, Control Structure Testing
2.5 Black Box Testing- Boundary Value Analysis, Equivalence partitioning. Differences
between BBT & WBT
Unit 3 Levels of Testing (10L)
3.1 A Strategic Approach to Software Testing
3.2 Test strategies for conventional Software
3.2 Unit testing
3.3 Integration testing–Top-Down, Bottom-up integration
3.4 System Testing–Acceptance, performance,
regression, Load/Stress testing, Security testing, Internationalization testing
3.5 Alpha, Beta Testing
3.6 Usability and accessibility testing
3.7 Configuration, compatibility testing
Unit 4 Testing Web Applications (6L)
4.1 Dimension of Quality,
4.2 Error within a Web App Environment
4.3 Testing Strategy for Web App Test Planning
4.4 The Testing Process–an overview
Unit 5 Agile Testing (5L)

MES’s NOWROSJEE WADIA COLLEGE, PUNE 01 pg. 33


Autonomy:2024-2025 B.Sc Computer Science

5.1 Agile Testing


5.2 Difference between Traditional and Agile testing
5.3 Agile principles and values
5.4 Agile Testing Quadrants
5.5 Automated Tests.
Course Outcomes:
On completion of the course, students will be able to:
CO1. Understand different Software Testing Strategies and techniques.
CO2. Approach testing tasks with a structures and systematic approach.
Learning Resources:
1. Software Engineering – A Practitioners Approach, Roger S. Pressman, 7th Edition,
TataMc GrawHill, 20.
2. Effective Methods of Software Testing, William E Perry, 3rdEdition, Wiley
Publishing Inc.
3. Managing the Testing Process: Practical Tools and Techniques for
Managing Hardware and Software Testing, Rex Black, MicrosoftPress,1999.
4. Agile Testing : A Practical Guide for Testers and Agile Teams, Lisa Crispin and
Janet Gregory,1stEdition,Addison-WesleyProfessional,2008.
5. Software Testing Principles and Practices By Srinivasan Desikan, Gopala swamy
Ramesh, Pearson.

MES’s NOWROSJEE WADIA COLLEGE, PUNE 01 pg. 34


Autonomy:2024-2025 B.Sc Computer Science

Subject Code:CS-367
Subject Title: Practical course on CS-361(Fundamentals of Artificial Intelligence) and CS-
362(Software Testing)
Teaching Scheme: No. of Credits: Examination Scheme:
4 hrs 20 mins/week 2 CE:15marks
SEE: 35marks
Course Objectives:
1. Provide students with practical experience in implementing AI algorithms and techniques.
2. Assignments on TestProject can cover topics related to test automation, including creating and
executing tests, working with different testing frameworks, integrating with various technologies,
and more.

Course Contents

Practical Based On CS-361 Artificial Intelligence


Assignment 1: Based on Heuristic Search Techniques.
Assignment 2: Based on Knowledge Representation Techniques.
Assignment 3: Based on Gaming Techniques.
Assignment 4: A case study.
Practical Based On CS-362 Software Testing Tools
Assignment 5: Creating Tests Offline and Local Test Execution on TestProject.
Assignment 6: Based on Parameterization and Data-Driven Testing.
Assignment 7: Based on Offline Test Reports and Custom Addons Offline.
Assignment 8: CI/CD Integration in an Offline Environment and Exploratory Testing in an Isolated
Environment.
Course Outcomes:
On completion of this course students will be able to :
CO1. Students will be able to implement and apply various AI algorithms and techniques to solve
real-world problems.
CO2. Test Project documentation for any specific features or functions that may have limitations in an
offline mode. Then also by using it students can do the above assignment 5 to assignment 8 in
an offline mode.

MES’s NOWROSJEE WADIA COLLEGE, PUNE 01 pg. 35


Autonomy:2024-2025 B.Sc Computer Science

Subject Code: CS-363


Subject Title: Web Technologies II
Teaching Scheme No. of Credits Examination Scheme
36 Lectures 2 CE: 15 marks
SEE: 35 marks
Course Objectives:
1. To Learn different technologies used at client-Side Scripting Language
2. To Learn XML and XML parsers.
3. To Learn Java Script to program the behavior of web pages.
4. To Learn to develop web-based application.
5. To Learn AJAX to make our application more dynamic.
Course Contents

Unit 1 Introduction to Web Techniques (6L)


1.1 Variables
1.2 Server information
1.3 Processing forms
1.4 Setting response headers
1.5 Maintaining state
1.6 PHP error handling
Unit 2 XML (6L)
2.1 What is XML?
2.2 XML document Structure
2.3 PHP and XML
2.4 XML parser
2.5 The document object model
2.6 The simple XML extension
2.7 Changing a value with simple XML
Unit 3 JavaScript and Jquery (10L)
3.1 Overview of JavaScript
3.2 Object Orientation and JavaScript Basic Syntax(JS datatypes, JS variables )
Primitives, Operations and Expressions , Screen Output and keyboard input (Verification
and Validation)
3.3 JS Control statements and JS Functions
3.4 JavaScript HTML DOM Events (onmouseup, onmousedown, onclick, onload,
onmouseover, onmouseout).
3.5 JS Strings and JS String methods
3.6 JS popup boxes (alert, confirm, prompt)
3.7 Jquery library, Including jquery library in page Jquery selector, DOM manipulation
using jquery.

MES’s NOWROSJEE WADIA COLLEGE, PUNE 01 pg. 36


Autonomy:2024-2025 B.Sc Computer Science

Unit 4 AJAX (6L)


4.1 Introduction of AJAX
4.2 AJAX web application model
4.3 AJAX –PHP framework
4.4 Performing AJAX validation
4.5 Handling XML data using php and AJAX
4.6 Connecting database using php and AJAX
Unit 5 PHP framework CodeIgniter (8L)
5.1 CodeIgniter - Overview, Installing CodeIgniter, Application Architecture
5.2 MVC Framework , Basic concept of CodeIgniter, Libraries
5.3 Working with databases
5.4 Load external JS and CSS page & redirecting from controller , Adding JS and CSS ,
5.5 Page redirection.
5.6 Loading dynamic data on page & session management, cookies management

Course Outcomes:
On completion of this course, students will be able to :
CO1. Build a dynamic website.
CO2. Using MVC based framework easy to design and handling the errors in dynamic
website.
Learning Resources:
1 Programming PHP By Rasmus Lerdorf and Kevin Tatroe, O'Reilly publication
2.Beginning PHP 5, Wrox publication
3.Mastering PHP, BPB Publication
4. JQuery CookBook, O’reilly Publication.
5.Ajax Programming for the Absolute Beginner- Jerry Lee Ford, Jr, Course Technology PTR
6. Professional Codeigniter By Thomas Myer ,Wrox Publication.
7. Codeigniter 2 CookBook By Rob Foster , PACKT Publication.
Reference Links:
1. www.php.net.in
2. www.W3schools.com
3. https://www.tutorialspoint.com/codeigniter/index.htm
4. https://api.jquery.com/
5. http://codeigniter.com/docs

MES’s NOWROSJEE WADIA COLLEGE, PUNE 01 pg. 37


Autonomy:2024-2025 B.Sc Computer Science

Subject Code: CS-364


Subject Title: Data Analytics
Teaching Scheme No. of Credits Examination Scheme
36 Lectures 2 CE: 15 marks
SEE: 35 marks
Course Objectives:
1. Deploy the Data Analytics Lifecycle to address data analytics projects.
2. Develop in depth understanding of the key technologies in data analytics.
3. Apply appropriate analytic techniques and tools to analyze data, create models, and
identify insights that can lead to actionable results.
Course Contents

Unit 1 Introduction to Data Analytics (6L)


1.1 Concept of data analytics
1.2 Data analysis vs Data analytics
1.3 Types of analytics
Diagnostic Analytics, Predictive Analytics, Prescriptive Analytics, Exploratory Analysis,
Mechanistic Analysis
1.4 Mathematical models - Concept
Model evaluation: metrics for evaluating classifiers - Class imbalance - AUC, ROC
(Receiver-Operator Characteristic) curves, Evaluating value prediction models.
Unit 2 Machine Learning Overview (6L)
2.1 Introduction to Machine Learning, deep learning, Artificial intelligence
2.2 Applications for machine learning in data science
2.2.1 The modeling process
Engineering features and selecting a model, Training the model, Validating the
model, Predicting new observations
2.2.2 Types of machine learning
Supervised learning, Unsupervised learning, Semi-supervised learning, ensemble
Techniques
2.3 Regression models
2.3.1 Linear Regression
2.3.2 Polynomial Regression
2.3.3 Logistic Regression
2.4. Concept of classification, clustering and reinforcement learning
Unit 3 Mining Frequent Patterns, Associations, and Correlations (12L)
3.1 What kind of patterns can be mined
Class/Concept Description: Characterization and Discrimination, Mining Frequent
Patterns, Associations, and Correlations, Classification and Regression for Predictive
Analysis, Cluster Analysis, Outlier Analysis.

MES’s NOWROSJEE WADIA COLLEGE, PUNE 01 pg. 38


Autonomy:2024-2025 B.Sc Computer Science

3.2 Mining frequent patterns - Market Basket Analysis.


3.3 Frequent Itemsets, Closed Itemsets, and Association Rules
3.4 Frequent Itemset Mining Methods
3.5 Apriori Algorithm
3.6 Generating Association Rules from Frequent Itemsets
3.7 Improving efficiency of apriori algorithm
3.8 Frequent pattern growth (FP-growth) algorithm
Unit 4 Social Media and Text Analytics (12L)
4.1 Overview of social media analytics
4.1.1 Social Media Analytics Process
4.1.2 Seven layers of social media analytics
4.1.3 accessing social media data
4.2 Key social media analytics methods
4.3 Social network analysis
4.3.1 Link prediction, Community detection, Influence maximization, Expert finding,
Prediction of trust and distrust among individuals
4.4 Introduction to Natural Language Processing
4.5 Text Analytics: Tokenization, Bag of words, Word weighting: TF-IDF, n- Grams, stop
words, Stemming and lemmatization, synonyms and parts of speech tagging
4.6 Sentiment Analysis
4.7 Document or text summarization
4.7.1 Trend analytics
4.8 Challenges to social media analytics
Course Outcomes:
On completion of the course, student will be able to–
CO1. Use appropriate models of analysis, assess the quality of input, and derive insight from
results.
CO2. Analyze data, choose relevant models and algorithms for respective applications.
CO3. Understand different data mining techniques like classification, prediction, clustering
and association rule mining.
CO4. Apply modeling and data analysis techniques to the solution of real world business
problems.
Learning Resources:
1. Data Science Fundamentals and Practical Approaches, Gypsy Nandi, Rupam Sharma, BPB
Publications, 2020.
2. The Data Science Handbook, Field Cady, John Wiley & Sons, Inc, 2017
3. Data Mining Concepts and Techniques, Jiawei Han, Micheline Kamber, Jian Pei, Morgan
Kaufmann, Third Edition, 2012.
4. A Hands-On Introduction to Data Science, Chirag Shah, University of Washington
Cambridge University Press
5. The Data Science Design Manual, Steven S. Skiena, Springer, 2017
6. Introducing data science: big data, machine learning, and more, using Python tools, Cielen
D, Meysman A. D., & Ali M., Manning Publications Co., 2016

MES’s NOWROSJEE WADIA COLLEGE, PUNE 01 pg. 39


Autonomy:2024-2025 B.Sc Computer Science

Subject Code: CS-368


Subject Title: Practical Course on CS-363(Web Technologies II) and CS-364(Data
Analytics)
Teaching Scheme No. of Credits Examination Scheme
4 hrs 20 mins/week 2 CE : 15 marks
SEE: 35 marks
Course Objectives:
1. To Learn different technologies used at client Side Scripting Language.
2. To Learn XML and XML parsers.
3. To Learn PHP framework for effective design of web application.
4. To Learn Java Script to program the behavior of web pages.
5. To Learn AJAX to make our application more dynamic.
6. Framework has some utility features that make easy to write API in more efficient
way than Core PHP.
Guidelines
● Operating Environment :Linux, HTML, PHP5.0 and above, Python
Course Contents
List of Assignments based on Web Technologies- II
1. Assignment on Self Processing Forms, Sticky Forms, File Upload.
2. Assignment on COOKIES and SESSIONS.
3. Assignment on XML documents and DOM
4. Assignment on JavaScript
5. Assignment on Ajax
List of Assignments for Data Analytics
Assignment 1: Frequent itemset and association rule mining
Load Transactional data set. Do the needful data preprocessing. Display the set of frequent 2-
itemsets and 3-itemsets. Repeat the process for different min_sup value.

Assignment 2: Linear and Logistic regression


For Given dataset predict the value of specific attribute.

Assignment 3: Text Analytics


Take text file as input. Create bag of words. Find frequent item sets. Display word cloud.

Assignment 4: Sentiment analysis


Course Outcomes:
CO1. Build dynamic website.
CO2. MVC based framework makes it easy to design and handle the errors in dynamic
websites.

MES’s NOWROSJEE WADIA COLLEGE, PUNE 01 pg. 40


Autonomy:2024-2025 B.Sc Computer Science

Subject Code: CS-365


Subject Title: Advanced Java Programming
Teaching Scheme No. of Credits Examination Scheme
36 Lecture 2 CE: 15 marks
SEE: 35 marks
Course Objectives:
1. To learn database programming using Java.
2. To study web development concept using Servlet and JSP.
3. To develop a game application using multithreading.
Course Contents
UNIT 1 Collections (8L)
1.1 Introduction to the Collection framework
1.2 List - ArrayList, LinkedList
1.3 Set - Set- HashSet, TreeSet
1.4 Map - HashMap and TreeMap
1.5 Interfaces such as Comparator, Iterator, ListIterator, Enumeration
UNIT 2 Multithreading (7L)
2.1 What are threads?
2.2 Life cycle of thread Creating threads - Thread class, Runnable interface
2.3 Thread priorities
2.4 Running multiple threads
2.5 Synchronization and interthread communication
UNIT 3 Database Programming (7L)
3.1 The design of jdbc
3.2 Types of drivers
3.3 Executing sql statements, query execution
3.4 Scrollable and updatable Resultset
UNIT 4 Servlets and JSP (8L)
4.1 Introduction to Servlet and Hierarchy of Servlet Life cycle of servlet Handing get and post
request (HTTP)
4.2 Handling data from HTML to servlet Retrieving data from database to servlet
4.3 Session tracking – User Authorization, URL rewriting, Hidden form fields, Cookies and
HttpSession
4.4 Introduction to JSP, Life cycle of JSP
4.5 Implicit Objects Scripting elements - Declarations, Expressions, Scriplets, Comments
4.6 JSP Directives - Page Directive, include directive Mixing Scriplets and HTML JSP Actions -
jsp:forward , jsp:include, jsp:useBean, jsp:setProperty and jsp:getProperty
UNIT 5 Spring Framework (6L)
5.1 Introduction of Spring framework
5.2 Spring Modules / Architecture
5.3 Spring Applications Spring MVC
MES’s NOWROSJEE WADIA COLLEGE, PUNE 01 pg. 41
Autonomy:2024-2025 B.Sc Computer Science

5.4 Spring MVC Forms, Validation


Course Outcomes:
On completion of the course, students will be able to-
CO1. To access open database through Java programs using Java Data Base Connectivity
(JDBC) and develop the application.
CO2. Understand and create dynamic web pages, using Servlets and JSP.
CO3. Work with basics of framework to develop secure web applications.
Learning Resources:
1. Complete reference Java - Herbert Schildt (5th edition).
2. Java 2 programming black books- Steven Horlzner.
3. Programming with Java, A primer - By E. Balagurusamy,,Fourth edition ,
4. Core Java Volume-I-Fundamentals- Cay S. Horstmann, Gary Cornell, Prentice
Hall, Sun Microsystems Press, Eighth Edition,
5. Core Java Volume-II-Advanced Features - Cay S. Horstmann, Gary Cornell,
Prentice Hall, Sun Microsystems Press, Eighth Edition,
6. Getting started with Spring Framework: covers Spring 5 - J Sharma and Ashish
Sarin.
7. Spring 4 for Developing Enterprise Applications: An End-to-End Approach -
Henry H. Liu.

MES’s NOWROSJEE WADIA COLLEGE, PUNE 01 pg. 42


Autonomy:2024-2025 B.Sc Computer Science

Subject Code: CS-366


Subject Title: Compiler Construction
Teaching Scheme No. of Credits Examination Scheme
36 Lectures 2 CE: 15 marks
SEE: 35 marks
Course Objectives:
1. To understand design issues of a lexical analyzer and use of LEX tool.
2. To understand design issues of a parser and use of YACC tool.
3. To understand and design code generation and optimization techniques.
Course Contents

Unit 1 Introduction (4L)


1.1 Definition of Compiler, Aspects of compilation
1.2 The structure of Compiler
1.3 Phases of Compiler – Lexical Analysis, Syntax Analysis, Semantic Analysis,
Intermediate Code generation, code optimization, Code generation
1.4 Error Handling
1.5 Introduction to one pass & Multi pass compilers
1.6 cross compiler
1.7 Bootstrapping
Unit 2 Lexical Analysis (Scanner) (4L)
2.1 Review of Finite automata as a lexical analyzer
2.1.2 Applications of Regular Expressions and Finite Automata (lexical
analyzer, searching using RE)
2.2 Input buffering
2.3 Recognition of tokens
2.4 LEX: A Lexical analyzer generator (Simple Lex Program)
Unit 3 Syntax Analysis (Parser) (14L)
3.1 Definition, Types of Parsers
3.2 Top-Down Parser –
3.2.1 Top-Down Parsing with Backtracking: Method & Problems
3.2.2 Drawbacks of Top-Down parsing with backtracking
3.2.3 Elimination of Left Recursion (direct & indirect)
3.2.4 Need for Left Factoring & examples
3.2.5 Recursive Descent Parsing: Definition
3.2.6 Implementation of Recursive Descent Parser Using Recursive Procedures
3.2.7 Predictive [LL (1)] Parser (Definition, Model)
3.2.8 Implementation of Predictive Parser [LL (1)]
3.2.9 FIRST & FOLLOW
3.2.10 Construction of LL (1) Parsing Table
3.2.11 Parsing of a String using LL (1) Table
3.3 Bottom-Up Parser –
3.3.1 Operator Precedence Parser -Basic Concepts
MES’s NOWROSJEE WADIA COLLEGE, PUNE 01 pg. 43
Autonomy:2024-2025 B.Sc Computer Science

3.3.1.1 Operator Precedence Relations form Associativity & Precedence


3.3.1.2 Operator Precedence Grammar
3.3.1.3 Algorithm for LEADING & TRAILING (with ex.)
3.3.1.4 Algorithm for Operator Precedence Parsing (with ex.)
3.3.1.5 Precedence Functions
3.3.2 Shift Reduce Parser
3.3.2.1 Reduction, Handle, Handle Pruning
3.3.2.2 Stack Implementation of Shift Reduce Parser (with examples)
3.3.3 LR Parser:
3.3.3.1 Model
3.3.3.2 Types [SLR (1), Canonical LR, LALR]-Method & examples.
3.4 YACC (from Book 3) –program sections, simple YACC program for expression
Evaluation
Unit 4 Syntax Directed Definition (7L)
4.1 Syntax Directed Definitions (SDD)
4.1.1 Inherited & Synthesized Attributes
4.1.2 Evaluating an SDD at the nodes of a Parse Tree, Example
4.2 Evaluation Orders for SDD’s
4.2.1 Dependency Graph
4.2.2 Ordering the Evaluation of Attributes
4.2.3 S-Attributed Definition
4.2.4 L-Attributed Definition
4.3 Application of SDT
4.3.1 Construction of syntax trees,
4.3.2 The Structure of a Type
4. 4 Translation Schemes
4.4.1 Definition, Postfix Translation Scheme
Unit 5 Code Generation and Optimization (7L)
5.1 Compilation of expression
5.1.1 Concepts of operand descriptors and register descriptors with example.
5.1.2 Intermediate code for expressions – postfix notations,
5.1.3 Triples, Quadruples and Expression trees
5.2 Code Optimization
5.2.1 Optimizing transformations – compile time evaluation, elimination of
common sub expressions, dead code elimination, frequency reduction, strength
reduction
5.3 Three address code
5.3.1 DAG for Three address code
5.3.2 The Value-number method for constructing DAG’s
5.4 Definition of basic block, Basic blocks, and flow graphs
5.5 Directed acyclic graph (DAG) representation of basic block
5.6 Issues in design of code generator
Course Outcomes:
On completion of this course, students will be able to:
MES’s NOWROSJEE WADIA COLLEGE, PUNE 01 pg. 44
Autonomy:2024-2025 B.Sc Computer Science

1. Understand the process of scanning and parsing of source code.


2. Learn the conversion code written in source language to machine language.
3. Understand tools like LEX and YACC.
Learning Resources:
1. Compilers: Principles, Techniques, and Tools - Alfred V. Aho, Ravi Sethi, Jeffrey D.
Ullman, 2004
2. Principles of Compiler Design -Alfred V. Aho, Jeffrey D. Ullman, Narosa Publication
House, 2002
3. LEX & YACC, O’reilly Publication, 2012, 2nd edition

MES’s NOWROSJEE WADIA COLLEGE, PUNE 01 pg. 45


Autonomy:2024-2025 B.Sc Computer Science

Subject Code: CS-369


Subject Title: Practical Course on CS 365 and Project Implementation
Teaching Scheme No. of Credits Examination Scheme
4 hrs 20 mins/week 2 CE : 15 marks
SEE: 35 marks
Course Objectives:
1. To learn Database programming using Java.
2. To study web development concept using Servlet and JSP.
3. Learn the Development and Deployment of Project.
Guidelines
 Operating Environment :Linux, Java , Pl/Pgsql , Tomcat Server , JDK 1.7 and above.
Course Contents
List of Assignments
Assignment 1: Collections
Program to Use various collections classes and interfaces in the Collections framework, Concept
of iterator, Creating and using collections objects.

Assignment 2: Multithreading
Program To create and use threads in java, To demonstrate multithreading and use of Runnable
interface, use of Thread methods .

Assignment 3: JDBC
Program To communicate with a database using java,To execute queries on tables,To obtain
information about the database and tables,Statement, PreparedStatement, ResultSet,
DatabaseMetaData and ResultSetMetaData.

Assignment 4: Servlets and JSP


Program To understand server-side programming ,Defining and executing servlets
Handling Get and Post requests (HTTP),Data Handling using Servlet,Creating Cookies,Session
Tracking using HTTP Servlet, JSP Directives, Scriptingelements, Actions in JSP.

Project Implementation
1. Project Documentation and Project Report generation
Course Outcomes:
CO1. To Build dynamic website using Java.
CO2. Learning of framework to develop secure web applications.

MES’s NOWROSJEE WADIA COLLEGE, PUNE 01 pg. 46


Autonomy:2024-2025 B.Sc Computer Science

Subject Code:
Subject Title: Mobile application development using Android (Elective)
Teaching Scheme No. of Credits Examination Scheme
36 Lectures 2 CE : 15 marks
SEE: 35 marks
Course Objectives:
1.This course covers the basics of Android along with database connectivity required
programming codes for developing necessary programming skills for mobile applications.
2.The course content should be implemented with the aim to develop required skills in the
students so that they are able to develop GUI base Mobile applications.
Course Contents
Unit 1 Introduction to Android (6L)
1.1 Introduction to Android - Overview and evolution of Android, Open Handset Alliance,
What does Android run On – Android Internals?, Use Android for mobile app
development.
1.2 Android Development Environment setup, Framework - Android-SDK, Eclipse, JD
1.3 Emulators – What is an Emulator/Android AVD?, First Android Application ( hello
World program).
Unit 2 Android: Architecture and Framework (7L)
2.1 Components of an Android Application
2.2 Linux Kernel, Libraries, Android Runtime, Application Framework
2.3 Applications, Android Startup and Zygote, Android Debug bridge, Android Permission
model, Android Manifest File
2.4 Android Activity
2.5 Service Lifecycle
Unit 3 Android: Activity and GUI Design Concepts (8L)
3.1 Android application components Intent , Activity, Fragments, Fragments,Views
3.2 Broadcast receivers, Create Application and new Activities, Design Demands for Android
Application
3.3 Expressions and Flow control, Simple UI -Layouts and Layout properties, Introducing
Layouts, Creating new Layouts, Drawable Resources
3.4 XML Introduction to GUI objects viz.: Edit Text, Text View, Button, Toggle Button ,
Padding etc.
Unit 4 Advanced Android GUI Programming (8L)
4.1 Event driven Programming in Android (Text Edit, Button clicked etc.)
4.2 Creating a splash screen, Threads in Android, Menu: Custom Vs. System Menus
4.3 Creating and Using Handset menu Button (Hardware), Android Themes, Dialog, create
an Alter Dialog, Toast in Android.
4.4 List & Adapters, Android Manifest.xml File
4.5 Accessing Phone Service(Call, SMS, MMS)
4.6 Location based services

MES’s NOWROSJEE WADIA COLLEGE, PUNE 01 pg. 47


Autonomy:2024-2025 B.Sc Computer Science

Unit 5 Work with SQLite Database (7L)


5.1 Basic operation of SQLite Database, Android application Priorities
5.2 SQLite: Open Helper and create database, Open and close a database.
5.3 CRUD Operation
5.4 JSON Parsing
Course Outcomes:
On completion of the course, students will be able to–
CO1. Identify and understand the concepts of open-source mobile technology.
CO2. Understand Android architecture frame work.
CO3. Understand GUI Design concepts and design Android GUI Layout.
CO4. Develop and design event driven programming with menus and dialog boxes.
CO5. Design and develop applications with database
Learning Resources:
1. Android Programming: The Big Nerd Ranch Guide (Big Nerd Ranch Guides),
2013 - Bill Phillips and Brian Hardy.
2. Professional Android 4 Application Development, 2012 - Reto Meier.
3. Android Application Development in 24 Hours, Sams Teach Yourself 2015 -
Carmen Delessio and Lauren Darcey 4th edition.
4. Beginning Android Application Development - Wei-Meng Lee Wiley, Wrox
publication, Second edition.
5. Android cookbook - Ian F Darwin, O’Reilly publication, Second Edition.

MES’s NOWROSJEE WADIA COLLEGE, PUNE 01 pg. 48


Autonomy:2024-2025 B.Sc Computer Science

Subject Code:
Subject Title: Blockchain technologies (Elective)
Teaching Scheme No. of Credits Examination Scheme
36 Lectures 2 CE : 15 marks
SEE: 35 marks
Course Objectives:
1. Understand what and why of blockchain technology.
2. Explore major components of blockchain.
3. Learn about Bitcoin, Crypto currency and Ethereum.
4. To learn blockchain programming using Python, Flask Web Framework, and HTTP
client Postman.

Course Contents

Unit 1 Introduction to Blockchain (7L)

1.1 Foundational Computing Concepts (Client-Server systems vs Peer to Peer Systems)


1.2 Evolution of Blockchain
1.3 Blockchain Vs Database
1.4 Essentials of Blockchain (Blockchain generations, types of blockchain, benefits and
1.5 Challenges of blockchain usage)
1.6 Types of Networks
1.7 Layered Architecture of Blockchain Ecosystem
1.8 Components of blockchain
1.9 Cryptography (private and public keys, Hashing & Digital Signature)
1.10 Consensus Mechanisms
1.11 Cryptocurrency, Digital Currency Bitcoin and Ethereum
1.12 Smart Contracts
1.13 Blockchain use cases
Unit 2 How Blockchain Works? (5L)

2.1 Understanding SHA256 Hash


2.2 Immutable Ledger
2.3 Distributed P2P Network
2.4 How Mining Works? (The NONCE and Cryptographic Puzzle)
2.5 Byzantine Fault Tolerance
2.6 Consensus Protocols: Proof of Work, Proof of State, Défense Against
Attackers, Competing Chains
2.7 Blockchain Demo
Unit 3 Smart Contracts (6L)

3.1 Ethereum Network


3.2 What is a Smart Contract?
3.3 Ethereum Virtual Machine, Ether, Gas
3.4 DApps
3.5 Decentralized Autonomous Organizations (DAO)
MES’s NOWROSJEE WADIA COLLEGE, PUNE 01 pg. 49
Autonomy:2024-2025 B.Sc Computer Science

3.6 Hard and Soft Forks


3.7 Initial Coin Offerings
3.8 Demo of Smart Contracts
Demonstration Programming Assignments (18L)

Out of 36 lectures, 18 are assigned for demonstration. Teachers should give


demonstrations of various programs mentioned below in the classroom or in the
laboratory as per their convenience.
Assignment 1 –Demonstration of Blockchain
https://andersbrownworth.com/blockchain
Assignment 2 – Installation of Ganache, Flask and Postman
Assignment 3 –Write a Simple Python program to create a Block class that contains index,
timestamp, and previous hash. Connect the blocks to create a Blockchain.
Assignment 4 –Demo of Remix-Ethereum IDE https://remix.ethereum.org and Test
Networks
Assignment 5 –Write a Simple Smart Contract for the Bank with withdrawal and deposit
functionality.
Assignment 6 – Write a Smart Contract for storing and retrieving information of Degree
Certificates.
Course Outcomes:
On completion of the course, students will be able to–
CO1. Learn the fundamentals of Blockchain Technology.
CO2. Learn Blockchain programming
CO3. Basic knowledge of Smart Contracts and how they function.
Learning Resources:
Textbook:
1. Beginning Blockchain : A Beginner’s Guide to Building Blockchain Solutions By
Bikramaditya Singhal, Gautam Dhameja, Priyanshu Sekhar Panda, Apress Media ,
2018.
Reference Books:
1. Mastering Blockchain by Imran Bashir, Third Edition, Packt Publication , 2020.
2. The Science of the Blockchain by Roger Wattenhofer , Createspace Independent
Pub, 2016.
3. Mastering Ethereum:Building Smart Contracts and DAPPS, by Andreas
Antonopoulos, Dr. Gavin Wood, O'reilly Publication, 1 Edition, 2018.
st

Article:
1. Bitcoin: A Peer-to-Peer Electronic Cash System by Satoshi Nakamoto , 2008.
Reference Web Links
1. https://www.investopedia.com/terms/b/blockchain.asp

MES’s NOWROSJEE WADIA COLLEGE, PUNE 01 pg. 50


Autonomy:2024-2025 B.Sc Computer Science

Subject Code:
Subject Title: Cloud and Edge Computing(Elective)
Teaching Scheme No. of Credits Examination Scheme
36 Lectures 2 CE: 15 marks
SEE: 35 marks
Course Objectives:
1. To introduce concepts of Cloud and Edge Computing.
2. To study Cloud and Edge Computing technologies, architecture and applications.
3. To study key concepts of virtualization.
4. To Study the different types of Open Source and Commercial Clouds.

Course Contents
Unit 1 Fundamentals of Cloud Computing (6L)
1.1 Overview of cloud computing
Origin of Cloud Computing, challenges, benefits, limitations, Cloud Storage.
1.2 Types of cloud Computing- Private cloud, Public cloud, Hybrid cloud and multi cloud
1.3 Open Source and Commercial Clouds
1.4 Applications of Cloud Computing
1.5 Cloud Computing Architecture

Unit 2 Virtualization (10L)


2.1 What is virtualization
2.2 Needs and Benefits of virtualization, imitations
2.3 Types of virtualization
Hardware Virtualization: Full virtualization - partial virtualization - para virtualization
Software virtualization – Memory virtualization - Storage virtualization
Data virtualization - Network Virtualization
2.4 VM Resource Allocation, Management and Monitoring
2.5 Virtualization technologies
Unit 3 Edge Computing (8L)
3.1 Introduction to Edge computing
3.2 Edge Computing VS Cloud Computing
3.3 Architecture and Components of Edge computing
Edge devices and sensors, edge computing infrastructure.
3.4 Networking in Edge computing- communication protocol, edge-to- cloud
communication, edge-to-edge communication
3.5 Security and Privacy in Edge Computing-Threats and vulnerabilities, security protocols,
Privacy considerations
3.6 Advantages and Disadvantages of Edge computing

MES’s NOWROSJEE WADIA COLLEGE, PUNE 01 pg. 51


Autonomy:2024-2025 B.Sc Computer Science

Unit 4 Security (6L)


4.1 Overview of Cloud Security Cloud Security Threads
4.2 Cloud Security Challenges and Risks
4.3 Edge Data Security
4.4 Data confidentiality and types of encryption and Authentication
4.5 Edge based attack detection and prevention
Unit 5 Emerging Trends (6L)
5.1 Multi-Cloud Vs Omni-Cloud
5.2 Integrated Block chain technology
5.3 Kubernetes
5.4 Cloud AI
5.5 Intelligent SaaS
5.6 Kubernetes Supremacy
5.7 Containerization by Industry Giants
Course Outcomes:
On completion of this course, students will be able to:
CO1. To understand the principles and paradigm of Cloud Computing and Edge Computing.
CO2. To understand the major components of Edge and Cloud computing architectures.
CO3. To understand the concept of virtualization.
CO4. To understand an emerging trend of Open Source and Commercial Clouds.
Learning Resources:
1. Fundamentals of Cloud Computing - Prasanta Kumar, Manas Ranjan Kabat, Souvik Pal, Vikas
publishing House 2014,1st Edition
2. Edge Computing Fundamentals, Advances and Applications - M. Kumari, K. Anitha ,
Sadasivam, G. Sudha ,Dharani, D. , Niranjanamurthy (Author, Contributor),Taylor & Francis
Ltd; 1st edition (23 December 2021)
3. Edge Cloud Operations - Bruce Davie, Larry L Peterson, Scott Baker A Systems Approach,
System Approach (16th June 2022)

MES’s NOWROSJEE WADIA COLLEGE, PUNE 01 pg. 52

You might also like