Course Document
Course Code UC24CSC41
Course Title Software Engineering
Program Code SCS02
Program Title BSc- Computer Science
School School of Computer Science
Faculty Code C
Faculty Title Faculty of Computing and IT
Department offering the Computer Science
Course
Faculty Member Prof.Shweta Marigoudar
Semester Duration Weeks (1-16) -Teaching, Learning and Continuous
Assessment
Weeks (17-18) -SEE
Weeks (19-20)- Announcement of Results
1. Course Size
Credits L T P Hours/Week
3 3 1 0 4
Total Term/ Semester hours: 45
2. Course Details
2.1 Course Aims and Summary
1. To develop software engineering skills and competencies necessary for designing,
developing, and maintaining software systems.
2. To provide a deep understanding of software development life cycle, including
requirements gathering, analysis, design, implementation, testing, and maintenance.
3. To cultivate the ability to effectively collaborate with multidisciplinary teams and
stakeholders in order to deliver high-quality software projects.
4. To enhance problem-solving and critical thinking skills to tackle complex software
engineering challenges and address user needs.
5. To foster knowledge of software engineering principles, methodologies, and best
practices for ensuring code quality, scalability, and maintainability.
6. To encourage the adoption of agile and iterative software development approaches for
faster, more efficient project delivery.
7. To instill ethical and professional behavior in software engineering practices,
considering the impact on individuals, society, and the environment.
8. To prepare students for various careers in software engineering, including software
developer, software architect, project manager, and technical lead.
2.2 Course Objectives
The objectives of the Course are:
1. To understand fundamental concepts and principles of software engineering,
including software development life cycle and various methodologies.
2. To learn and apply software engineering techniques, such as requirements elicitation
and analysis, software design, coding, testing, and software maintenance.
3. To acquire knowledge of various software development processes and techniques for
efficient and effective software development.
4. To develop skills in using software engineering tools and frameworks for managing
software development projects.
5. To understand the importance of software quality assurance and testing in ensuring
the reliability and correctness of software.
6. To study and apply software project management principles for successful planning,
organizing, and controlling software development projects.
7. To gain insights into software maintenance and the importance of periodically
updating and improving existing software systems.
8. To enhance problem-solving and critical thinking skills by working on real-world
software engineering projects and case studies.
9. To cultivate effective communication and collaboration skills by working in teams
and interacting with clients and stakeholders.
10. To stay updated with the latest trends and advancements in software engineering, such
as agile development, cloud computing, and Devops.
2.3 Course Outcomes
After undergoing this course students will be able to:
CO1 To recall and understand the fundamental concepts, principles, and theories
of software engineering. They will have a solid foundation of knowledge
about different software development methodologies, software requirements
engineering, software design, software testing, and software maintenance.
CO2 To interpret and explain the various aspects of software engineering,
including the software development life cycle, software project management,
software quality assurance, and software configuration management.
CO3 Apply their knowledge and understanding of software engineering principles
and practices to analyze, design, implement, and maintain software systems.
They will be able to use different software development tools and techniques
to develop software solutions for real-world problems.
CO4 To analyze and evaluate software requirements, software designs, and
software testing strategies. They will be able to identify potential issues and
problems in software systems and propose effective solutions.
CO5 To synthesize and integrate different software engineering concepts and
techniques to develop complex software systems. They will be able to
combine software components, integrate external libraries and APIs, and
design software architectures that meet specific requirements.
CO6 To assess and evaluate the quality and effectiveness of software engineering
processes and practices. They will be able to review and critique software
designs, code, and documentation, and provide constructive feedback for
improvement.
Outcome Map:
COs P P P P P P P P PO P P P PS PS PS
O O2 O O O O O O 09 O O O O O O3
01 03 04 05 06 07 08 10 11 12 1 2
CO1 1 2 1 2 1 3 1 1 1 1 3 1 3 3 3
CO2 1 2 1 1 1 1 3 1 3 3 1 1 1 1 3
CO3 1 3 1 1 1 3 3 1 3 1 3 1 1 3 3
CO4 1 3 1 3 1 3 1 1 3 3 1 3 1 3 1
CO5 1 3 1 1 3 3 1 1 3 3 3 1 1 3 3
CO6 3 3 1 3 3 3 1 1 3 3 3 1 1 3 3
Relevance: 1 high, 2 medium, 3 low
2.4 Course Content
Module1
The Product and The Process: Evolving role of software, software characteristics and
components, Crisis, Software Myths, Software Engineering-A Layered Technology,
Software process, linear sequential model, Prototyping model, RAD model, Evolutionary
software process model. Project Management Concepts: The Management Spectrum, The
People, The Product, The Process, and The Project. W5HH Principle. Software Process
and Project Metrics: Measures, Metric Indicators, Metric in process and the Project
Domains, Software Measurement, Metrics for software quality.
Module 2
Software Project Planning: Project Planning Objectives, Software Project Estimation,
decomposition Techniques, Empirical Estimation Models. Risk Analysis and
Management: Software Risks, Risk Identification, Risk Projection, Risk Refinement and
Risk Mitigation, Monitoring, and Management.
Module 3
Analysis Concepts and Principles: Requirement analysis, communication techniques,
analysis principles, software prototyping and specification. Analysis Modeling: Elements
of analysis model, data modeling, functional modeling, behavioral modeling, the
mechanics of structured analysis, data dictionary, other classical analysis methods.
Module 4
Design Concepts and Principles: Software design and software engineering design
process, design principles, design concepts, design methods, data design, architectural
design and process, transform and transaction mappings, design post processing,
architectural design optimization, interface design, procedural design.
Module 5
Software Testing Techniques and Strategies: Fundamentals, Test case design, White box
testing, Basis path testing, Control structure testing, Black box testing, Software testing
strategies.
Software Configuration Management: Configuration management, maintenance costs,
maintenance side effects, maintenance tissues. Software Quality Assurance: Quality
Concepts
2.5 Course Resources:
Text Book
• Software Engineering, Fifth Edition, Roger - Pressman, McGraw Hill)
References:
• 1.Software Engineering, Ian Sommerville, International Computer Science, Series
• Software Engineering, Schooma, McGraw Hill 4. Object Oriented Design and
Analysis, Booch, Benjamin / Cummings,
• Software Engineering: A Practitioner's Approach 7th Edition, Roger –
Pressman,Tata McGraw - Hill Education (2010)
Other Resources
• Software Engineering -https://www.youtube.com/watch?v=O753uuutqH8
• "Software Engineering - Life Cycle Models" by
https://www.youtube.com/watch?v=6s6-
• "Software Engineering - Software Design Basics" by Tutorials Point (India) Pvt.
Ltd.: https://www.youtube.com/watch?v=PzT0__Ct_
• "Software Testing Fundamentals" by Guru99:
https://www.youtube.com/watch?v=w0-CK2IJ820
• "Software Maintenance and Software Configuration Management" by Easy
Engineering Network: https://www.youtube.com/watch?v=icwh57a3XHQ
3. Teaching and Assessment
3.1 Teaching
Lecture Lecture Topic Lecture Slides Lecture Videos
Number
0 The Product and The Process Lecture-00
Issue-Assignment 1 and Assignment-2 Statements
1 Evolving role of software, Lecture-01
software characteristics and
components
2 Software Myths Lecture-02
3 Software Engineering-A Lecture-03 Video-01
Layered Technology,
Software process, linear
sequential model
4 Prototyping model, RAD Lecture-04 Video-02
model
5 Evolutionary software Lecture-05
process model
6 The Management Spectrum, Lecture-06
The People, The Product,
The Process, and The Project
.
7 W5HH Principle Lecture-07
8 Software Process and Project Lecture-08 Video-03
Metrics: Measures, Metric
Indicators,
9 Software Measurement, Lecture-09
Metrics for software quality.
10 The Project Management Lecture-10
11 Software Project Planning Lecture-11 Video-04
12 Project Planning Objectives, Lecture-12
Software Project Estimation
13 Empirical Estimation Models Lecture-13
14 Risk Analysis and Lecture-14
Management
15 Software Risks, Risk Lecture-15 Video-05
Identification, Risk
Projection
16 Risk Refinement and Risk Lecture-16
Mitigation
Quiz -01 and Test-1-Obtain Student Feedback
Submission of Assignment-1
17 Monitoring, and Lecture-17
Management
18 Requirement analysis, Lecture-18
communication techniques,
analysis principles
19 software prototyping and Lecture-19 Video-06
specification
20 Elements of analysis model, Lecture-20
data modeling, functional
modeling
21 Functional modeling, Lecture-21 Video-07
behavioral modeling
22 The mechanics of structured Lecture-22
analysis, data dictionary
22 Software design and software Lecture-23 Video-08
engineering design process
23 Design principles
24 Design concepts, design Lecture-24
methods
25 Data design, architectural Lecture-25
design and process
26 Transform and transaction Lecture-26
mappings
27 Architectural design Lecture-27
optimization
28 Interface design, procedural Lecture-28
design
29 Software Testing Techniques Lecture-29 Video-09
and Strategies
30 Fundamentals, Test case Lecture-30
design
31 White box testing Lecture-31
32 Basis path testing, Lecture-32
Control structure testing
33 Black box testing Lecture-33 Video-10
Quiz -02 and Test -02
34 Software testing strategies Lecture-34
35 Software Configuration Lecture-35
Management
36 Configuration management Lecture-36 Video-11
37 Maintenance costs, Lecture-37
maintenance side effects
38 Maintenance issues Lecture-38
39 Software Quality Assurance Lecture-39 Video-12
40 Quality Concepts Lecture-40
Quiz-03 and Test-03
Submission of Assignment-2
Obtain Student Feedback
Examination Preparation Break
Term/Semester End Examination
3.2 Assessment weight Distribution
Quiz Test Assignment/ SEE Total
PBL/PrBL Marks
Weights/ 15 30 15 40 100
Course
Outcomes
CO1 3 5 3 5 16
CO2 3 5 3 7 18
CO3 3 5 3 7 18
CO4 2 3 3 7 15
CO5 2 3 4 7 16
CO6 2 4 4 7 17
3.3 Schedule of Assessment
Assessment Dates Mark COs Quiz Test Assignme SEE
Type s nt/PBL/
PrBL
Weight 15 30 15 40
Duration 30 min 60 min 6 weeks 3
hours
Quiz-1 5th 6 CO1/CO2
week
Quiz-2 10th 5 CO3/CO4
week
Quiz-3 15th 4 CO5/CO6
week
Test-1 5th 10 CO1/CO2
week
Test-2 10th 8 CO3/CO4
week
Test-3 15th 7 CO5/CO6
week
Assignment- 7th 09 CO 1-3
1 week
Assignment- 14th 11 CO 4-6
2 week
SEE 18th 40 All
Week
3.4 Grading Criterion
• Based on total marks scored grade is Awarded.
If marks scored is:
• 91 and above O (outstanding); 81-90 : A+ (Excellent); 71-80: A (Very Good);
61-70: B+ (Good); 51-60 : B (Above Average); 40 -50: C (Average); below
40: D (Not satisfactory)
• If one scores D grade, the candidate is required to re-register for the course if
he/she wants to earn the credit at his/her own convenience
Attainment Calculations:
Recording Marks and Awarding Grades
S. No. USN Student Quiz Test Assignment SEE Marks Grade
Name (15%) (25%) 20% 40% Scored obtained
1
2
3
N
Total XXXXX
Class Average Marks: Total marks of All Students (XXXX)/ Number of students (N)
Average Grade:
Setting Attainment Targets:
Attainment of Course Outcomes-COs
Outcomes- Targeted Outcomes Level of Observations and
Attainment Remarks
70% of Students will score C grade
and above-1
60% of students will score C grade and
Above-2
50% of students will score C grade and
above-3
70% of Students will score C grade
and above-1
60% of students will score C grade and
Above-2
50% of students will score C grade and
above-3
70% of Students will score C grade
and above-1
60% of students will score C grade and
Above-2
50% of students will score C grade and
above-3
70% of Students will score C grade
and above-1
60% of students will score C grade and
Above-2
50% of students will score C grade and
above-3
70% of Students will score C grade
and above-1
60% of students will score C grade and
Above-2
50% of students will score C grade and
above-3
70% of Students will score C grade
and above-1
60% of students will score C grade and
Above-2
50% of students will score C grade and
above-3
Performance Recording
Acad Progr Semes Sect Course Course Title
emic am: ter ion Code Programming with C
Year B.Tec XXYYZZH
2023 h., in I A 11 Course Tutor/s:
-24 Comp Tutor’s ID/Department:
uter
Scien
ce and
Engin
eering
Total Numb Numb Clas O- A+ A B+ B C D
Num er of er of s Grader Graders Grader Grader Grader Grader Gra
ber Stude Stude Ave s s s s ders
of nts nts - rage >= 91 81<=M 71<= 40<= M<
stude appea Passed Mar <=90 M<=8 61<= 51<= M<=5 40
nts red all the ks 0 M<=7 M<=6 0
in for all compo 0 0
the the nent
Class comp of
onents Exami
of nation
Asses
sment
60 58 54 58 4 8 10 14 10 8 4
B
Gra
de
CO1- Performance
CO2- Performance
CO3- Performance
CO4- Performance
CO5- Performance
CO6- Performance
Performance Plotting
CO-1 Distribution CO-2 Distribution CO-3 Distribution
CO-4 Distribution CO-5 Distribution CO-6 Distribution
Mapping of Course Outcomes with Program Outcomes
P P P P P P P P P PO PO PO PS PS PS
O1 O2 O3 O4 O5 O6 O7 O8 O9 10 11 12 O1 O2 O3
C 1
O1
C 1
O2
C 2 2
O3
C 2 2
O4
C 1 1
O5
C 1 1
O6
4. Other Details
4.1 Assignment Details or Problem Based Learning
Assignments will be given at the beginning of each block period and students can
continuously work on assignment and submit at the end of the block period as per the
format provided.
4.2 Academic Integrity Policy: Students are required to strictly follow academic
honesty and integrity. Copying and plagiarism in any form for any of the assessment
components will result in zero marks.
Course Document
Course Code UC24CS42
Course Title Programming with Java
Program Code SCS02
Program Title BSc-Bachelors of Science
School Computer Science
Faculty Code C
Faculty Title Faculty of Computing and IT
Department offering the Computer Science
Course
Faculty Member Mr. Rajashekhar G C
Semester Duration Weeks (1-16) -Teaching, Learning and Continuous
Assessment
Weeks (17-18) -SEE
Weeks (19-20)- Announcement of Results
1. Course Size
Credits L T P Hours/Week
3 0 0 0 3
Total Term/ Semester hours: 30
2. Course Details
2.1 Course Aims and Summary
1. The "Object-Oriented Programming with Java" course is designed to equip students
with a strong foundation in object-oriented programming principles and practices
using the Java programming language.
2. The course covers fundamental OOP principles such as encapsulation, inheritance,
and polymorphism, and demonstrates their application in Java. It extends into
advanced topics including multithreading, GUI development, database connectivity,
and web development.
3. Students will also learn to analyze and design software systems using object-oriented
analysis and design techniques.
4. Students Enable students to write well-structured, efficient, and readable code.
2.2 Course Objectives
The objectives of the Course are:
• To introduce concept of Basics of Java programming.
• To define the Data types, Variables, Operators.
• To introduce basic concepts Control structures including selection, Looping, Java
• Methods.
• To understand concepts of Overloading, Mathclass, Arrays in java.
• Define and create classes and objects in Java
• Understand the concepts of attributes and behaviours within a class
• Define the concept of constructors in Java.
• Differentiate between constructors and regular methods.
• Introduce the types of constructors in Java, including default, parameterized, and
copy constructors.
• Define what finalisers are in the context of Java programming.
• Define visibility modifiers in Java and explain their role in access control.
• Define methods in Java and their significance in modularizing code.
• Explore the relationship between classes and objects
• Define the String class in Java.
• Understand its significance as a fundamental class for handling text.
• Demonstrate different ways to initialize and declare strings in Java.
• Define the concept of inheritance in object-oriented programming (OOP).
• Understand the advantages of code reuse and extensibility offered by inheritance
• Demonstrate the syntax for implementing inheritance in Java.
• Define the concept of method overriding in object-oriented programming and
understand the need for method overriding
• Understand how polymorphism allows objects of different types to be treated as
objects of a common type.
• Introduce compile-time (static) and runtime (dynamic) polymorphism.
• Define the concept of dynamic binding in the context of object-oriented
programming.
• Differentiate between static binding (compile-time binding) and dynamic binding
(runtime binding).
• Understand the advantages of dynamic binding in terms of flexibility and
extensibility.
• Define the concept of packages in Java.
• Understand the need for organizing classes into packages for better code
organization.
• Define the concept of multithreading in the context of concurrent programming
• Understand the advantages of using multithreading for parallel execution.
• Define the concept of exception handling in Java.
• Understand the role of exceptions in signaling and handling errors.
• Explore keywords such as try, catch, finally, throw, and throws.
• Understand their roles in exception handling.
• To understand the JavaBeans and Network Programming.
• Define the concept of graphical user interfaces (GUIs) in software applications.
• Understand the importance of user-friendly interfaces in software design.
• Explore Swing components for building GUIs.
• Define the concept of Input/Output in Java.
• Understand the importance of I/O operations in file handling and data
manipulation.
• Define the concept of binary input/output (I/O) in Java
2.3 Course Outcomes
After undergoing this course students will be able to:
CO1 Understand the features of Java and the architecture of JVM.
CO2 Write, compile, and execute Java programs that may include basic data
types and control flow constructs and how type casting is done.
CO3 Identify classes, objects, members of a class and relationships among them
needed for a specific problem and demonstrate the concepts of polymorphism
and inheritance.
CO4 The students will be able to demonstrate programs based on interfaces and
threads.
CO5 Write, compile, execute Java programs that include GUIs and event driven
programming and also programs based on files.
CO6 Explain the benefits of JAVA’s Exceptional handling mechanism compared to
other Programming Language.
Outcome Map:
PO PO0 PO PO PO PO PO PO PSO PSO PSO
COs
01 2 03 04 05 06 07 08 1 2 3
CO1 2 2 3 3 3 3 3 3 1 2 2
CO2 1 2 3 3 3 3 3 3 1 1 2
CO3 2 2 3 3 3 3 3 3 1 2 2
CO4 2 2 3 3 3 3 3 3 1 1 2
CO5 1 2 3 3 3 3 3 3 1 2 2
CO6 3 2 3 3 3 1 3 3 2 2 3
Relevance: 1 high, 2 medium, 3 low
2.4 Course Content
• Module1:
Java Evolution: Java Features, java and Internet, java and World Wide Web, web
browsers, overview of java language, Constants, Variables and data types, Operators
and Expressions, Decision making and Branching, Decision making and looping.
• Module 2:
Classes, Objects and methods: Defining a class, Adding Variables, Adding
Methods, creating objects, Accessing Class members, Constructors, Method
Overloading, Inheritance: Extending a Class, Overriding Methods, Final Variables
and methods, Final Classes, Abstract classes and methods, Visibility control, Arrays,
Strings, and Vectors, Interfaces: Multiple inheritance.
• Module 3:
Packages: putting classes together: Java API Packages, Creating Packages,
accessing a package, using a package, Hiding classes.
Multi-threaded programming: Creating Threads, Extending a Thread Class,
Stopping and blocking a thread, Life cycle of a thread, Using thread methods, Thread
Exceptions, Thread priority, Synchronization.
Managing Errors and Exceptions: Types of Errors, Syntax of Exception handing
code, Multiple catch statement, Throwing our Exceptions
• Module 4:
Event and GUI programming: Event handling in java, Event types, Mouse and key
events, GUI Basics, Panels, Frames, Layout Managers: Flow Layout, Border Layout,
Grid Layout, GUI components like Buttons, Check Boxes, Radio Buttons, Labels,
Text Fields, Text Areas, Combo Boxes, Lists, Scroll Bars, Sliders, Windows, Menus,
Dialog Box, Introduction to swing, Exceptional handling mechanism.
2.5 Course Resources:
Text Book:
• Programming with Java, By E Balagurusamy – A Primer,
Fourth Edition, TataMc Graw Hill Education Private Limited.
• Core Java Volume I – Fundamentals, By CayS. Horstmann, PrenticeHall
References:
• Object Oriented Programming with Java :
Somashekara, M.T, Guru,D.S., Manjunatha, K.S
• Java - The Complete Reference, 7th Edition, By Herbert
Schildt– McGraw Hill publication.
3. Teaching and Assessment
3.1 Teaching Plan
Lecture Lecture
Lecture Topic Lecture Videos
Number Slides
0 Introduction Class Lecture-00 Video-00
1 Java Features Lecture-01 Video-01
java and Internet, java and World
2 Lecture-02 Video-02
Wide Web, web browsers
3 overview of java language Lecture-03 Video-03
4 Constants and Variables Lecture-04 Video-04
5 data types Lecture-05 Video-05
6 Operators and Expressions Lecture-06 Video-06
7 Decision making and Branching Lecture-07 Video-07
8 Decision making and Branching Lecture-08 Video-08
9 Decision making and looping Lecture-09 Video-09
10 Decision making and looping Lecture-10 Video-10
11 Defining a class Lecture-11 Video-11
Issue-Assignment 1 and Assignment-1 Statements
12 Adding Variables, Adding Methods Lecture-12 Video-12
creating objects, Accessing Class
13 Lecture-13 Video-13
members
14 Constructors Lecture-14 Video-14
15 Method Overloading Lecture-15 Video-15
Submission of Assignment-1
Quiz -01 and Test-1-Obtain Student Feedback
16 Inheritance: Extending a Class Lecture-16 Video-16
17 Extending a Class Lecture-17 Video-17
18 Overriding Methods Lecture-18 Video-18
19 Final Variables and methods Lecture-19 Video-19
20 Final Classes Lecture-20 Video-20
21 Abstract classes and methods Lecture-21 Video-21
22 Visibility control Lecture-22 Video-22
23 Arrays Lecture-23 Video-23
24 Strings Lecture-24 Video-24
25 Vectors Lecture-25 Video-25
26 Interfaces Lecture-26 Video-26
27 Multiple inheritance - types Lecture-27 Video-27
Issue-Assignment 1 and Assignment-1 Statements
Java API Packages, Creating
28 Lecture-28 Video-28
Packages
Accessing a package, Using a
29 Lecture-29 Video-29
package, Hiding classes
30 Creating Threads Lecture-30 Video-30
Submission of Assignment-2
Quiz -02 and Test-2-Obtain Student Feedback
Extending a Thread Class, Stopping
31 Lecture-31 Video-31
and blocking a thread
32 Life cycle of a thread Lecture-32 Video-32
Using thread methods, Thread
33 Lecture-33 Video-33
Exceptions
34 Thread priority, Synchronization Lecture-34 Video-34
Managing Errors and Exceptions:
35 Types of Errors, Syntax of Exception Lecture-35 Video-35
handing code
Multiple catch statement, Throwing
36 Lecture-36 Video-36
our Exceptions
Event and GUI programming: Event
37 Lecture-37 Video-37
handling in java, Event types
38 Mouse and key events Lecture-38 Video-38
39 GUI Basics Lecture-39 Video-39
40 Panels, Frames Lecture-40 Video-40
Issue-Assignment 3 and Assignment-3 Statements
41 Layout Managers: Flow Layout Lecture-41 Video-41
42 Border Layout, Grid Layout Lecture-42 Video-42
Quiz-03 and Test-03
GUI components like Buttons, Check
43 Lecture-43 Video-43
Boxes, Radio Buttons,
Labels, Text Fields, Text Areas,
44 Lecture-44 Video-44
Combo Boxes
45 Revision Class Lecture-45 Video-45
Submission of Assignment-3
Obtain Student Feedback
Examination Preparation Break
Term/Semester End Examination
3.2 Assessment weight Distribution
Quiz Test Assignment/ SEE Total
PBL/PrBL Marks
Weights/ 15 25 20 40 100
Course
Outcomes
CO1 3 5 3 5 16
CO2 3 5 3 7 18
CO3 3 5 3 7 18
CO4 2 3 3 7 15
CO5 2 3 4 7 16
CO6 2 4 4 7 17
3.3 Schedule of Assessment
Assessment Dates Mark COs Quiz Test Assignme SEE
Type s nt/PBL/
PrBL
Weight 15 25 20 40
Duration 30 min 60 min 6 weeks 3 hours
Quiz-1 5th 6 CO1/
week CO2
Quiz-2 10th 5 CO3/
week CO4
Quiz-3 15th 4 CO5/
week CO6
Test-1 5th 10 CO1/
week CO2
Test-2 10th 8 CO3/
week CO4
Test-3 15th 7 CO5/
week CO6
Assignment 7th 09 CO
-1 week 1-3
Assignment 14th 11 CO
-2 week 4-6
SEE 18th 40 All
Week
3.4 Grading Criterion
• Based on total marks scored grade is Awarded.
If marks scored is:
• 91 and above O (outstanding); 81-90 : A+ (Excellent); 71-80: A (Very Good); 61-
70: B+ (Good); 51-60 : B (Above Average); 40 -50: C (Average); below 40: D
(Not satisfactory)
• If one scores D grade, the candidate is required to re-register for the course if
he/she wants to earn the credit at his/her own convenience
Attainment Calculations:
Recording Marks and Awarding Grades
S. No. USN Student Quiz Test Assignment SEE Marks Grade
Name (15%) (25%) 20% 40% Scored obtained
1
2
3
N
Total XXXXX
Class Average Marks: Total marks of All Students (XXXX)/ Number of students (N)
Average Grade:
Setting Attainment Targets:
Attainment of Course Outcomes-COs
Outcomes- Targeted Outcomes Level of Observations and
Attainment Remarks
70% of Students will score C grade
and above-1
60% of students will score C grade and
Above-2
50% of students will score C grade and
above-3
70% of Students will score C grade
and above-1
60% of students will score C grade and
Above-2
50% of students will score C grade and
above-3
70% of Students will score C grade
and above-1
60% of students will score C grade and
Above-2
50% of students will score C grade and
above-3
70% of Students will score C grade
and above-1
60% of students will score C grade and
Above-2
50% of students will score C grade and
above-3
70% of Students will score C grade
and above-1
60% of students will score C grade and
Above-2
50% of students will score C grade and
above-3
70% of Students will score C grade
and above-1
60% of students will score C grade and
Above-2
50% of students will score C grade and
above-3
Performance Recording
Acad Progr Semes Sect Course Course Title
emic am: ter ion Code Programming with C
Year B.Tec XXYYZZH Course Tutor/s:
2023 h., in I A 11 Tutor’s ID/Department:
-24 Comp
uter
Scien
ce and
Engin
eering
Total Numb Numb Clas O- A+ A B+ B C D
Num er of er of s Grader Graders Grader Grader Grader Grader Gra
ber Stude Stude Ave s s s s ders
of nts nts - rage >= 91 81<=M 71<= 40<= M<
stude appea Passed Mar <=90 M<=8 61<= 51<= M<=5 40
nts red all the ks 0 M<=7 M<=6 0
in for all compo 0 0
the the nent
Class comp of
onents Exami
of nation
Asses
sment
60 58 54 58 4 8 10 14 10 8 4
B
Gra
de
CO1- Performance
CO2- Performance
CO3- Performance
CO4- Performance
CO5- Performance
CO6- Performance
Performance Plotting
CO-1 Distribution CO-2 Distribution CO-3 Distribution
CO-4 Distribution CO-5 Distribution CO-6 Distribution
Mapping of Course Outcomes with Program Outcomes
PO PO PO PO PO PO PO PO PO PO PO PO PS PS PS
1 2 3 4 5 6 7 8 9 10 11 12 O1 O2 O3
CO 1
1
CO 1
2
CO 2 2
3
CO 2 2
4
CO 1 1
5
CO 1 1
6
5. Other Details
4.3 Assignment Details or Problem Based Learning
Assignments will be given at the beginning of each block period and students can
continuously work on assignment and submit at the end of the block period as per the
format provided.
4.4 Academic Integrity Policy: Students are required to strictly follow academic honesty
and integrity. Copying and plagiarism in any form for any of the assessment components
will result in zero marks.
Course Document
Course Code UC24CSP43
Course Title Java Lab
Program Code SCS02
Program Title BSc-Bachelors of Science
School Computer Science
Faculty Code C
Faculty Title Faculty of Computing and IT
Department offering the Computer Science
Course
Faculty Member Mr. Rajashekhar G C
Semester Duration Weeks (1-16) -Teaching, Learning and Continuous
Assessment
Weeks (17-18) -SEE
Weeks (19-20)- Announcement of Results
1. Course Size
Credits L T P Hours/Week
2 0 0 2 2
Total Term/ Semester hours: 30
2. Course Details
2.1 Course Aims and Summary
1. Emphasizing hands-on learning and practical exercises, the course aims to foster
proficiency in Java programming concepts, object-oriented principles, and best
practices.
2. This Java programming course offers a structured and hands-on approach to learning
Java, covering fundamental concepts to advanced topics.
3. The course covers fundamental OOP principles such as encapsulation, inheritance,
and polymorphism, and demonstrates their application in Java. It extends into
advanced topics including multithreading, GUI development, database connectivity,
and web development. Students will also learn to analyze and design software
systems using object-oriented
2.2 Course Objectives
• Bridge the gap between theoretical understanding and practical application by
solving hands-on coding exercises.
• Familiarize participants with the process of declaring variables and assigning
values in Java.
• Strengthen understanding of basic Java syntax, including variable declaration and
assignment.
• Familiarize participants with the concept of factorial and its calculation using a
'while' loop.
• Understand the concepts of attributes and behaviours within a class on practical
knowledge
• demonstrate the concept of constructors in Java.
• Develops the methods in Java and their significance in modularizing code.
2.3 Course Outcomes
After undergoing this course students will be able to:
CO1 Understand Java fundamentals and concepts of Object-Oriented Programming
(OOP).
CO2 Analyze and comprehend Java programs implementing arithmetic operations,
sorting algorithms, and vector operations.
CO3 Identify and solve logical errors in Java programs.
CO4 Apply exception handling techniques to catch and manage Negative Array Size
Exception and Null Pointer Exception.
CO5 Implement GUI programming to create windows, draw shapes, and display
messages based on user interactions.
CO6 Synthesize knowledge of exception handling to design programs displaying
personal details and messages based on key presses.
Outcome Map:
COs PO PO PO PO PO PO PO PO PS PS PSO
01 02 03 04 05 06 07 08 O1 O2 3
CO1 2 2 3 3 3 3 3 3 1 2 2
CO2 1 2 3 3 3 3 3 3 1 1 2
CO3 2 2 3 3 3 3 3 3 1 2 2
CO4 2 2 3 3 3 3 3 3 1 1 2
CO5 1 2 3 3 3 3 3 3 1 2 2
CO6 3 2 3 3 3 1 3 3 2 2 3
Relevance: 1 high, 2 medium, 3 low
2.4Course Content
PART – A: Java Fundamentals OOPs in Java
1. Java program to accept names as command line arguments and convert them to
capitals.
2. Java program to implement basic arithmetic binary operations.
3. Java program to enter names and sort in alphabetical order.
4. Write a Java program to read the radius of a circle and to find the area and
circumference.
5. Java program to implement vector operations add, insert and displaying items.
6. Write a java program for Method over loading and Constructor over loading
7. Write a Java program to find N prime numbers reading N as command line
argument.
8. Write a program to find factorial of N numbers reading N as command line
arguments.
9. Write a java program that checks whether a given string is palindrome or not
PART – B: Exception Handling & GUI Programming
1. Program to catch Negative Array Size Exception. This exception is caused when
the array is initialized to negative values.
2. Program to handle Null Pointer Exception and use the “finally” method to display
amessage to the user.
3. Program which creates and displays a message on the window
4. Program to draw several shapes in the created window
5. Program which creates a frame with two buttons father and mother. When we click
the father button the name of the father, his age and designation must appear. When
we click mother similar details of mother also appear.
6. Create a frame which displays your personal details with respect to a button click
7. Program to create a window when we press M or m the window displays Good
Morning, A or a the window displays Good After Noon, E or e the window displays
Good Evening, N or n the window displays Good Night
8. Demonstrate the various mouse handling events using suitable example.
Course Document
Course Code UC24CSC44
Course Title Database Management
Program Code SCS02
Program Title BSc-Bachelors of Science
School Computer Science
Faculty Code C
Faculty Title Faculty of Computing and IT
Department offering the Computer Science
Course
Faculty Member Mr. Rajashekhar G C
Semester Duration Weeks (1-16) -Teaching, Learning and Continuous
Assessment
Weeks (17-18) -SEE
Weeks (19-20)- Announcement of Results
1. Course Size
Credits L T P Hours/Week
3 0 0 0 3
Total Term/ Semester hours: 30
2. Course Details
2.1 Course Aims and Summary
1. Foundational Understanding: Provide students with a solid understanding of the
foundational concepts in database management, including the distinction between
database systems and file systems.
2. Data Modeling Mastery: Enable students to master key data modeling techniques,
emphasizing the Entity-Relationship (E-R) model and its application in designing
effective database schemas.
3. Practical SQL Proficiency: Develop practical proficiency in SQL, covering essential
operations, advanced queries, and Data Definition Language (DDL) for effective
database manipulation.
4. Normalization Expertise: Equip students with the skills to design normalized
database schemas, progressing from 1NF to higher normal forms, and addressing
functional dependencies and Multi-Valued Dependencies (MVDs).
5. Transaction Management and Concurrency Control: Foster an understanding of
transaction management, covering concepts, states, and execution scheduling, as well
as the implementation of concurrency control techniques to ensure data consistency.
6. Recovery and Atomicity Awareness: Cultivate awareness of recovery mechanisms
and atomicity in database operations, exploring protocols for handling failures and
categorizing recovery algorithms for robust data management.
2.2 Course Objectives
The objectives of the Course are:
• Understand the practical applications of database systems.
• Differentiate between database systems and file systems.
• Comprehend the role and significance of various data models: Hierarchical,
Relational.
• Identify the key stakeholders, including database users and administrators.
• Explore transaction management and grasp the fundamental structure of a
database system.
• Analyze application architecture in the context of database systems.
• Master basic E-R concepts, constraints, and keys.
• Address design issues and create effective E-R diagrams.
• Recognize weak entity sets and apply Extended E-R features.
• Skillfully design an E-R database schema and convert it to relational tables.
• Integrate Unified Modeling Language (UML) into the design process.
• Gain a deep understanding of the structure of relational databases.
• Apply relational algebra and extended operations for database manipulation.
• Execute SQL operations, including set operations, aggregate functions, and
subqueries.
• Create and modify database views.
• Introduce students to PL/SQL with a brief study.
• Grasp the concept of normalization and its importance in database design.
• Achieve 1NF, 2NF, and 3NF through functional dependencies.
• Understand Boyce-Codd Normal Form (BCNF), 4NF, MVDs, 5NF, and
PJNF.
• Apply the closure of functional dependencies and MVDs for lossless join.
• Understand the fundamentals of transactions, their concepts, and properties.
• Analyze different states of transactions and concurrent execution scenarios.
• Schedule transactions and identify operations conflicts.
• Test for serializability to ensure consistency in transaction execution.
• Introduce concurrency control techniques, including lock-based and timestamp
protocols.
• Explore recovery algorithms and categorize them for effective database
maintenance.
• Emphasize the importance of atomicity in database transactions.
2.3 Course Outcomes
After undergoing this course students will be able to:
CO1 Identify and describe the different data models, including Hierarchical and
Relational models.
CO2 Explain the significance of database languages and the roles of database
users and administrators.
CO3 Apply the fundamental concepts of the Entity-Relationship (E-R) model,
including constraints, keys, and design issues, to create E-R diagrams and
design an ER database schema.
CO4 Evaluate normalization levels (1NF to 4NF, BCNF) and apply the principles
to achieve a well-structured database.
CO5 Develop SQL queries for joined relations, views, and execute Data Definition
Language (DDL) operations.
CO6 Evaluate and select appropriate concurrency control techniques for
transaction management.
Outcome Map:
PO PO0 PO PO PO PO PO PO PS PS PSO
COs
01 2 03 04 05 06 07 08 O1 O2 3
CO1 2 3 3 3 1 3 2 2 3 2 3
CO2 3 3 3 3 1 3 2 2 3 1 3
CO3 3 3 3 3 1 3 2 2 2 3 3
CO4 3 3 3 3 1 3 2 2 2 1 2
CO5 2 3 2 3 1 3 2 2 1 2 1
CO6 3 3 3 3 2 3 2 2 3 2 3
Relevance: 1 high, 2 medium, 3 low
2.4 Course Content
1. Introduction: application, database system vs. file system, view of data models-
Hierarchical, Relational, database languages, database users and administrators,
transaction management, Database system structure, application architecture.
2. E_R Model: Basic-concepts, constraints, keys, Design Issues, E-R diagram, weak
entity sets, Extended E-R features, Design of an ER database schema.
Relational Model: Structure of Relational Databases, Relational Algebra, Extended
Relational Algebra Operations, Modification of the database, Views.
3. SQL: Background, Basic structure, set operation, aggregate functions, NULL values,
subqueries, views, Modification of the Database, joined Relations, DDL.
Normalization: Introduction, 1NF, 2NF and FDs, 3NF and BCNF, 4NF and MVDs,
5NF and PJNF, Closure of a set of FDs, MVDs, Loss less join.
4. Transaction Management: Introduction, Transaction concepts and properties, States,
concurrent execution, Scheduling of Transactions, Operations Conflicts, Testing for
serializability.
Concurrency Control Techniques: Introduction, Lock-based Protocols, Time stamp
Protocols, Failure Classification. Recovery and Atomicity: Introduction,
Categorization of Recovery Algorithms.
2.5 Course Resource
Text Book:
• “Database System Concepts” by Silberchatz-Korth-sudarshan , Mcgraw Hill-IV
Edition.
• “Database Management Systems”, A Practical Approach (DBMS) by Rajiv
Chopra.
References:
• Navathe and Elmarri “Fundamentals of Database Systems”-
Addison Wesley-200.
• C.j. Data “introduction to Database systems” Addison-wesley.
• Ullman “Principals of Data base systems” computer science
press”.
• Bipin C Desai “Introduction to Data base system” Galotia.
3. Teaching and Assessment
3.1 Teaching Plan
Lecture Lecture Topic Lecture Lecture Videos
Number Slides
0 Introduction Class Lecture-00 Video-00
1 Application, database system vs. file Lecture-01 Video-01
system
2 view of data Lecture-02 Video-02
3 models-Hierarchical, Relational Lecture-03 Video-03
4 database languages Lecture-04 Video-04
5 database users and administrators Lecture-05 Video-05
6 transaction management, Database Lecture-06 Video-06
system structure
7 application architecture Lecture-07 Video-07
8 E-R Model: Basic-concepts Lecture-08 Video-08
9 constraints, keys Lecture-09 Video-09
10 Design Issues Lecture-10 Video-10
11 E-R diagram Lecture-11 Video-11
Issue-Assignment 1 and Assignment-1 Statements
12 weak entity sets, Extended E-R Lecture-12 Video-12
features
13 Design of an ER database schema Lecture-13 Video-13
14 Structure of Relational Databases Lecture-14 Video-14
15 Relational Algebra Lecture-15 Video-15
Submission of Assignment-1
Quiz -01 and Test-1-Obtain Student Feedback
16 Relational Algebra Lecture-16 Video-16
17 Extended Relational Algebra Lecture-17 Video-17
Operations
18 Modification of the database Lecture-18 Video-18
19 Views Lecture-19 Video-19
20 SQL: Background, Basic structure Lecture-20 Video-20
21 set operation Lecture-21 Video-21
22 aggregate functions, NULL values Lecture-22 Video-22
23 subqueries Lecture-23 Video-23
24 Modification of the Database Lecture-24 Video-24
25 joined Relations Lecture-25 Video-25
26 Normalization: Introduction, 1NF Lecture-26 Video-26
27 2NF and FDs Lecture-27 Video-27
Issue-Assignment 1 and Assignment-1 Statements
28 3NF and BCNF Lecture-28 Video-28
29 4NF and MVDs Lecture-29 Video-29
30 Closure of a set of FDs Lecture-30 Video-30
Submission of Assignment-2
Quiz -02 and Test-2-Obtain Student Feedback
31 Multivalued Dependencies Lecture-31 Video-31
32 Loss less join Lecture-32 Video-32
33 Transaction Management: Lecture-33 Video-33
Introduction
34 Transaction concepts and properties Lecture-34 Video-34
35 States Lecture-35 Video-35
36 Concurrent execution Lecture-36 Video-36
37 Scheduling of Transactions Lecture-37 Video-37
38 Operations Conflicts Lecture-38 Video-38
39 Testing for serializability Lecture-39 Video-39
40 Concurrency Control Techniques: Lecture-40 Video-40
Introduction
Issue-Assignment 3 and Assignment-3 Statements
41 Lock-based Protocols and Time stamp Lecture-41 Video-41
Protocols
42 Failure Classification Lecture-42 Video-42
43 Recovery and Atomicity: Introduction Lecture-43 Video-43
44 Categorization of Recovery Lecture-44 Video-44
Algorithms
45 Revision Class Lecture-45 Video-45
Quiz-03 and Test-03
Submission of Assignment-3
Obtain Student Feedback
Examination Preparation Break
Term/Semester End Examination
3.2 Assessment weight Distribution
Quiz Test Assignment/ SEE Total
PBL/PrBL Marks
Weights/ 15 25 20 40 100
Course
Outcomes
CO1 3 5 3 5 16
CO2 3 5 3 7 18
CO3 3 5 3 7 18
CO4 2 3 3 7 15
CO5 2 3 4 7 16
CO6 2 4 4 7 17
3.3 Schedule of Assessment
Assessment Dates Marks COs Quiz Test Assignme SEE
Type nt/PBL/
PrBL
Weight 15 25 20 40
Duration 30 min 60 min 6 weeks 3
hours
Quiz-1 5th 6 CO1
week /
CO2
Quiz-2 10th 5 CO3
week /CO
4
Quiz-3 15th 4 CO5
week /CO
6
Test-1 5th 10 CO1
week /
CO2
Test-2 10th 8 CO3
week /CO
4
Test-3 15th 7 CO5
week /CO
6
Assignment-1 7th 09 CO
week 1-3
Assignment-2 14th 11 CO
week 4-6
SEE 18th 40 All
Week
3.4 Grading Criterion
• Based on total marks scored grade is Awarded.
If marks scored is:
• 91 and above O (outstanding); 81-90 : A+ (Excellent); 71-80: A (Very Good);
61-70: B+ (Good); 51-60 : B (Above Average); 40 -50: C (Average); below
40: D (Not satisfactory)
• If one scores D grade, the candidate is required to re-register for the course if
he/she wants to earn the credit at his/her own convenience
Attainment Calculations:
Recording Marks and Awarding Grades
S. No. USN Student Quiz Test Assignment SEE Marks Grade
Name (15%) (25%) 20% 40% Scored obtained
1
2
3
N
Total XXXXX
Class Average Marks: Total marks of All Students (XXXX)/ Number of students (N)
Average Grade:
Setting Attainment Targets:
Attainment of Course Outcomes-COs
Outcomes- Targeted Outcomes Level of Observations and
Attainment Remarks
70% of Students will score C grade
and above-1
60% of students will score C grade and
Above-2
50% of students will score C grade and
above-3
70% of Students will score C grade
and above-1
60% of students will score C grade and
Above-2
50% of students will score C grade and
above-3
70% of Students will score C grade
and above-1
60% of students will score C grade and
Above-2
50% of students will score C grade and
above-3
70% of Students will score C grade
and above-1
60% of students will score C grade and
Above-2
50% of students will score C grade and
above-3
70% of Students will score C grade
and above-1
60% of students will score C grade and
Above-2
50% of students will score C grade and
above-3
70% of Students will score C grade
and above-1
60% of students will score C grade and
Above-2
50% of students will score C grade and
above-3
Performance Recording
Acad Progr Semes Sect Course Course Title
emic am: ter ion Code Programming with C
Year B.Tec XXYYZZH Course Tutor/s:
2023 h., in I A 11 Tutor’s ID/Department:
-24 Comp
uter
Scien
ce and
Engin
eering
Total Numb Numb Clas O- A+ A B+ B C D
Num er of er of s Grader Graders Grader Grader Grader Grader Gra
ber Stude Stude Ave s s s s ders
of nts nts - rage >= 91 81<=M 71<= 40<= M<
stude appea Passed Mar <=90 M<=8 61<= 51<= M<=5 40
nts red all the ks 0 M<=7 M<=6 0
in for all compo 0 0
the the nent
Class comp of
onents Exami
of nation
Asses
sment
60 58 54 58 4 8 10 14 10 8 4
B
Gra
de
CO1- Performance
CO2- Performance
CO3- Performance
CO4- Performance
CO5- Performance
CO6- Performance
Performance Plotting
CO-1 CO-2 CO-3
Distribution Distribution Distribution
CO-4 CO-5 CO-6
Distribution Distribution Distribution
Mapping of Course Outcomes with Program Outcomes
P P P P P P P P P PO PO PO PS PS PS
O1 O2 O3 O4 O5 O6 O7 O8 O9 10 11 12 O1 O2 O3
C 1
O1
C 1
O2
C 2 2
O3
C 2 2
O4
C 1 1
O5
C 1 1
O6
4. Other Details
4.1 Assignment Details or Problem Based Learning
Assignments will be given at the beginning of each block period and students
can continuously work on assignment and submit at the end of the block period as
per the format provided.
4.2 Academic Integrity Policy: Students are required to strictly follow academic
honesty and integrity. Copying and plagiarism in any form for any of the
assessment components will result in zero marks.
Course Document
Course Code UC24CSP45
Course Title DBMS Lab
Program Code SCS02
Program Title BSc-Bachelors of Science
School Computer Science
Faculty Code C
Faculty Title Faculty of Computing and IT
Department offering the Computer Science
Course
Faculty Member Mr. Rajashekhar G C
Semester Duration Weeks (1-16) -Teaching, Learning and Continuous
Assessment
Weeks (17-18) -SEE
Weeks (19-20)- Announcement of Results
1. Course Size
Credits L T P Hours/Week
3 3 0 0 3
Total Term/ Semester hours: 30
2. Course Details
2.1 Course Aims and Summary
1. Mastering SQL Fundamentals: Develop a comprehensive understanding of SQL,
starting from the basics of Data Definition Language (DDL) and Data
Manipulation Language (DML) commands to advanced topics like PL/SQL and
triggers.
2. Efficient Querying Skills: Gain proficiency in constructing SQL queries using
various operators, joins, and subqueries, enabling efficient data retrieval and
manipulation.
3. Data Analysis and Transformation: Learn to implement different types of
functions, including number, aggregate, character, conversion, and date functions,
to perform advanced data analysis and transformation operations.
4. Database Design and Optimization: Explore the essentials of database design and
optimization, covering topics such as indexing, constraints, and the effective use
of group by, having, and order by clauses.
5. Security and User Management: Acquire knowledge on creating and managing
databases, table spaces, users, and roles. Understand the principles of granting and
revoking privileges to ensure database security.
6. Advanced Database Management: Delve into the intricacies of database backup,
recovery commands, rollback, commit, and savepoints. Learn the practical aspects
of managing a database effectively and ensuring data integrity.
2.2 Course Objectives
The objectives of the Course are:
• Understand and implement Data Definition Language (DDL) commands,
including creating, altering, and dropping tables, forming the foundation for
effective database management.
• Gain hands-on experience in Data Manipulation Language (DML) commands
such as Insert, Update, and Delete, enabling participants to efficiently handle and
modify data within databases.
• Explore and implement various types of SQL functions, including Number,
Aggregate, Character, Conversion, and Date functions, empowering participants
with diverse tools for data analysis and manipulation.
• Master different types of operators in SQL, encompassing Arithmetic, Logical,
Comparison, Special, and Set Operation operators, fostering adeptness in
constructing complex and precise queries.
• Implement different types of joins, such as Inner, Outer, and Natural joins, to
establish a robust understanding of relational databases and optimize data retrieval
strategies.
• Study and implement advanced query optimization techniques, including Group
By, Having, Order By clauses, and Indexing, to enhance the efficiency of data
retrieval and analysis.
• Delve into the intricacies of subqueries and views, learning how to leverage these
advanced querying techniques for enhanced data manipulation and analysis.
• Study and implement various types of constraints to ensure data integrity within
databases, covering aspects such as unique constraints, primary and foreign keys.
• Acquire skills in Database Backup and Recovery commands, as well as the
implementation of Rollback, Commit, and Savepoint operations, ensuring data
security and recoverability.
• Learn essential database administration tasks, including creating databases and
table spaces, managing users through Create, Delete, Grant, and Revoke
operations, and understanding the role of user roles.
• Study and implement PL/SQL, delving into the world of procedural programming
within SQL databases, enabling participants to create efficient and powerful
stored procedures.
2.3 Course Outcomes
After undergoing this course students will be able to:
CO1 Recall and describe the syntax and purpose of key DDL commands (Create
Table, Alter Table, Drop Table) in SQL.
CO2 Demonstrate an understanding of the impact of DML commands (Insert,
Update, Delete) on the data stored in a SQL database.
CO3 Apply different types of SQL functions (Number, Aggregate, Character,
Conversion, Date) to manipulate and transform data within a database.
CO4 Analyze the effects of various SQL operators (Arithmetic, Logical,
Comparison, Special, Set Operation) on query results and identify appropriate
use cases for each.
CO5 Combine knowledge of different types of joins (Inner, Outer, Natural) with
Group By, Having, Order By, and Indexing to synthesize and create efficient
data analysis queries.
CO6 Evaluate the effectiveness of using subqueries and views in SQL, considering
their practical applications and justifying their use in specific database
scenarios.
Outcome Map:
COs PO PO PO PO PO PO PO PO PS PS PS
01 02 03 04 05 06 07 08 O1 O2 O3
CO1 1 2 1 3 2 3 3 2 2 3 1
CO2 1 1 1 2 2 3 3 2 1 3 2
CO3 2 3 2 3 1 3 3 1 3 2 1
CO4 2 1 3 3 3 3 2 2 3 3 2
CO5 3 2 2 3 1 3 3 1 3 3 1
CO6 3 3 3 3 3 1 2 1 3 3 2
Relevance: 1 high, 2 medium, 3 low
2.4 Course Content
1. Implementation of DDL commands of SQL with suitable examples
• Create table
• Alter table
• Drop Table
2. Implementation of DML commands of SQL with suitable examples
• Insert
• Update
• Delete
3. Implementation of different types of function with suitable examples
• Number function
• Aggregate Function
• Character Function
• Conversion Function
• Date Function
4. Implementation of different types of operators in SQL
• Arithmetic Operators
• Logical Operators
• Comparison Operator
• Special Operator
• Set Operation
5. Implementation of different types of Joins
• Inner Join
• Outer Join
• Natural Join etc..
6. Study and Implementation of
• Group By & having clause
• Order by clause
• Indexing
7. Study & Implementation of
• Sub queries
• Views
8. Study & Implementation of different types of constraints.
9. Study & Implementation of Database Backup & Recovery commands. Study &
Implementation of Rollback, Commit, Savepoint.
10. Creating Database /Table Space
Managing Users: Create User, Delete User
Managing roles: -Grant, Revoke.
Course Document
Course Code UC24CSC41
Course Title Software Engineering
Program Code SCS02
Program Title BSc- Computer Science
School School of Computer Science
Faculty Code C
Faculty Title Faculty of Computing and IT
Department offering the Computer Science
Course
Faculty Member Prof. Rajashekhar G C
Semester Duration Weeks (1-16) -Teaching, Learning and Continuous
Assessment
Weeks (17-18) -SEE
Weeks (19-20)- Announcement of Results
1. Course Size
Credits L T P Hours/Week
3 3 1 0 4
Total Term/ Semester hours: 45
2. Course Details
2.1 Course Aims and Summary
1. Comprehensive Understanding of Data Science Philosophies: Acquire a deep
knowledge of the foundational philosophies in data science, exploring its role in a big
data environment, and understanding the diverse forms of data, including structured,
unstructured, natural language, machine-generated data, audio, image, and video
streaming data.
2. Proficiency in Big Data Ecosystem: Develop expertise in the key components of the
big data ecosystem, including distributed file systems, programming frameworks, data
integration frameworks, machine learning frameworks, NoSQL databases, scheduling
tools, benchmarking tools, system deployment, service programming, and security.
3. Mastery of the Data Science Process: Gain practical skills in the end-to-end data
science process, from defining research goals and creating project charters, to
retrieving, cleansing, integrating, and transforming data. Explore exploratory data
analysis, model building, and the presentation of findings, culminating in the
development of applications based on the insights generated.
4. Application of Machine Learning in Data Science: Understand the application of
machine learning in data science, explore the tools employed in machine learning, and
delve into the modelling process, including training models, validating models, and
predicting new observations. Differentiate between supervised and unsupervised
learning algorithms, and comprehend their respective applications in real-world
scenarios. Additionally, gain proficiency in data visualization techniques and tools,
including MapReduce and dashboard development.
2.2 Course Objectives
The objectives of the Course are:
• Understand the core philosophies of data science, recognizing its significance in the
context of big data.
• Identify and differentiate various types of data, including structured, unstructured,
natural language, and multimedia data.
• Gain hands-on experience with essential components of the big data ecosystem, such
as distributed file systems, programming frameworks, and machine learning tools.
• Develop skills in data integration, system deployment, and security measures within
the big data environment.
• Define clear research goals and create project charters, ensuring alignment with
organizational objectives.
• Acquire practical skills in data retrieval, cleansing, integration, and transformation.
• Perform exploratory data analysis to extract meaningful insights and build models to
address research goals.
• Present findings effectively and create applications based on the generated insights.
• Explore the diverse applications of machine learning in data science.
• Utilize tools for modeling processes, encompassing model training, validation, and
prediction of new observations.
• Differentiate between and apply supervised and unsupervised learning algorithms in
relevant scenarios.
• Understand the importance of data visualization in conveying complex information.
• Explore various data visualization options, including filters, MapReduce, and
dashboard development tools.
• Develop the ability to create visually compelling representations of data to aid
decision-making.
2.3 Course Outcomes
After undergoing this course students will be able to:
CO1 Explain and articulate the foundational philosophies of data science and its
role in a big data environment.
CO2 Apply data integration frameworks and machine learning tools for efficient
data analysis.
CO3 Retrieve, cleanse, integrate, and transform data effectively to prepare it for
analysis.
CO4 Implement the modelling process, including training, validating, and
predicting with models.
CO5 Implement filters, MapReduce, and dashboard development tools to enhance
data visualization.
CO6 Integrate knowledge of data science philosophies, big data ecosystem
components, and machine learning techniques to solve real-world problems.
Outcome Map:
COs P P P P P P P P PO P P P PS PS PS
O O2 O O O O O O 09 O O O O O O3
01 03 04 05 06 07 08 10 11 12 1 2
CO1 1 2 1 2 1 3 1 1 1 1 3 1 3 3 3
CO2 1 2 1 1 1 1 3 1 3 3 1 1 1 1 3
CO3 1 3 1 1 1 3 3 1 3 1 3 1 1 3 3
CO4 1 3 1 3 1 3 1 1 3 3 1 3 1 3 1
CO5 1 3 1 1 3 3 1 1 3 3 3 1 1 3 3
CO6 3 3 1 3 3 3 1 1 3 3 3 1 1 3 3
Relevance: 1 high, 2 medium, 3 low
2.4 Course Content
PREPARING AND GATHERING DATA AND KNOWLEDGE
Philosophies of data science - Data science in a big data world - Benefits and uses of data
science and big data - facts of data: Structured data, Unstructured data, Natural Language,
Machine generated data, Audio, Image and video streaming data - The Big data Eco system:
Distributed file system, Distributed Programming framework, Data Integration frame work,
Machine learning Framework, NoSQL Databases, Scheduling tools, Benchmarking Tools,
System Deployment, Service programming and Security.
THE DATA SCIENCE PROCESS-Overview of the data science process- defining research
goals and creating project charter, retrieving data, cleansing, integrating and transforming
data, exploratory data analysis, Build the models, presenting findings and building
application on top of them.
MACHINE LEARNING: Application for machine learning in data science- Tools used in
machine learning- Modeling Process – Training model – Validating model – Predicting new
observations –Types of machines learning Algorithm: Supervised learning algorithms,
Unsupervised learning algorithms.
VISUALIZATION–Introduction to data visualization – Data visualization options – Filters –
MapReduce – Dashboard development tools.
2.5 Course Resources:
Textbooks
1. Introducing Data Science, Davy Cielen, Arno D. B. Meysman and Mohamed
Ali,Manning Publications, 2016.
Reference Books
1. Doing Data Science, Straight Talk from the Frontline, Cathy O'Neil, Rachel Schutt,
O’ Reilly, 1st edition, 2013.
2. Mining of Massive Datasets, Jure Leskovec, Anand Rajaraman, Jeffrey David
Ullman, Cambridge University Press, 2nd edition, 2014
3. An Introduction to Statistical Learning: with Applications in R, Gareth James,
Daniela Witten, Trevor Hastie, Robert Tibshirani, Springer, 1st edition, 2013
4. Think Like a Data Scientist, Brian Godsey, Manning Publications, 2017.
Other Resources
1. https://www.simplilearn.com/tutorials/data-science-tutorial/what-is-data-science
2. https://www.youtube.com/watch?v=N6BghzuFLIg
3. https://www.coursera.org/lecture/what-is-datascience/fundamentals-of-data-
science-tPgFU
4. https://www.youtube.com/watch?v=ua-CiDNNj30
3. Teaching and Assessment
3.1 Teaching
Lecture Lecture Topic Lecture Slides Lecture Videos
Number
0 Introduction Lecture-00
Issue-Assignment 1 and Assignment-2 Statements
1 Philosophies of data science Lecture-01
2 Data science in a big data Lecture-02
world
3 Benefits and uses of data Lecture-03 Video-01
science
4 facts of data: Structured data Lecture-04 Video-02
5 Unstructured data Lecture-05
6 Natural Language Lecture-06
7 Machine generated data Lecture-07
8 Audio, Image and video Lecture-08 Video-03
streaming data
9 The Big data Eco system Lecture-09
10 Distributed file system Lecture-10
11 Distributed Programming Lecture-11 Video-04
framework
12 Data Integration frame work Lecture-12
13 Machine learning Framework Lecture-13
14 NoSQL Databases Lecture-14
15 Scheduling tools Lecture-15 Video-05
16 Benchmarking Tools Lecture-16
Quiz -01 and Test-1-Obtain Student Feedback
Submission of Assignment-1
17 System Deployment Lecture-17
18 Service programming and Lecture-18
Security
19 Overview of the data science Lecture-19 Video-06
process
20 defining research goals and Lecture-20
creating project charter
21 retrieving data Lecture-21 Video-07
22 cleansing, integrating Lecture-22
22 transforming data Lecture-23 Video-08
23 exploratory data analysis
24 Build the models Lecture-24
25 presenting findings Lecture-25
26 building application on top of Lecture-26
them
27 Application for machine Lecture-27
learning in data science
28 Tools used in machine Lecture-28
learning
29 Tools used in machine Lecture-29 Video-09
learning
30 building application on top of Lecture-30
them
31 Modeling Process Lecture-31
32 Training model Lecture-32
33 Validating model Lecture-33 Video-10
Quiz -02 and Test -02
34 Predicting new observations Lecture-34
35 Types of machines Lecture-35
learning Algorithm
36 Types of machines Lecture-36 Video-11
learning Algorithm
37 Supervised learning Lecture-37
algorithms
38 Supervised learning Lecture-38
algorithms
39 Unsupervised learning Lecture-39 Video-12
algorithms
40 Unsupervised learning Lecture-40
algorithms
41 Introduction to data
visualization
42 Data visualization options
43 Filters
44 MapReduce
45 Dashboard development
tools.
Quiz-03 and Test-03
Submission of Assignment-2
Obtain Student Feedback
Examination Preparation Break
Term/Semester End Examination
6.2 Assessment weight Distribution
Quiz Test Assignment/ SEE Total
PBL/PrBL Marks
Weights/ 15 30 15 40 100
Course
Outcomes
CO1 3 5 3 5 16
CO2 3 5 3 7 18
CO3 3 5 3 7 18
CO4 2 3 3 7 15
CO5 2 3 4 7 16
CO6 2 4 4 7 17
6.3 Schedule of Assessment
Assessment Dates Mark COs Quiz Test Assignme SEE
Type s nt/PBL/
PrBL
Weight 15 30 15 40
Duration 30 min 60 min 6 weeks 3
hours
Quiz-1 5th 6 CO1/CO2
week
Quiz-2 10th 5 CO3/CO4
week
Quiz-3 15th 4 CO5/CO6
week
Test-1 5th 10 CO1/CO2
week
Test-2 10th 8 CO3/CO4
week
Test-3 15th 7 CO5/CO6
week
Assignment- 7th 09 CO 1-3
1 week
Assignment- 14th 11 CO 4-6
2 week
SEE 18th 40 All
Week
6.4 Grading Criterion
• Based on total marks scored grade is Awarded.
If marks scored is:
• 91 and above O (outstanding); 81-90 : A+ (Excellent); 71-80: A (Very Good);
61-70: B+ (Good); 51-60 : B (Above Average); 40 -50: C (Average); below
40: D (Not satisfactory)
• If one scores D grade, the candidate is required to re-register for the course if
he/she wants to earn the credit at his/her own convenience
Attainment Calculations:
Recording Marks and Awarding Grades
S. No. USN Student Quiz Test Assignment SEE Marks Grade
Name (15%) (25%) 20% 40% Scored obtained
1
2
3
N
Total XXXXX
Class Average Marks: Total marks of All Students (XXXX)/ Number of students (N)
Average Grade:
Setting Attainment Targets:
Attainment of Course Outcomes-COs
Outcomes- Targeted Outcomes Level of Observations and
Attainment Remarks
70% of Students will score C grade
and above-1
60% of students will score C grade and
Above-2
50% of students will score C grade and
above-3
70% of Students will score C grade
and above-1
60% of students will score C grade and
Above-2
50% of students will score C grade and
above-3
70% of Students will score C grade
and above-1
60% of students will score C grade and
Above-2
50% of students will score C grade and
above-3
70% of Students will score C grade
and above-1
60% of students will score C grade and
Above-2
50% of students will score C grade and
above-3
70% of Students will score C grade
and above-1
60% of students will score C grade and
Above-2
50% of students will score C grade and
above-3
70% of Students will score C grade
and above-1
60% of students will score C grade and
Above-2
50% of students will score C grade and
above-3
Performance Recording
Acad Progr Semes Sect Course Course Title
emic am: ter ion Code Programming with C
Year B.Tec XXYYZZH
2023 h., in I A 11 Course Tutor/s:
-24 Comp Tutor’s ID/Department:
uter
Scien
ce and
Engin
eering
Total Numb Numb Clas O- A+ A B+ B C D
Num er of er of s Grader Graders Grader Grader Grader Grader Gra
ber Stude Stude Ave s s s s ders
of nts nts - rage >= 91 81<=M 71<= 40<= M<
stude appea Passed Mar <=90 M<=8 61<= 51<= M<=5 40
nts red all the ks 0 M<=7 M<=6 0
in for all compo 0 0
the the nent
Class comp of
onents Exami
of nation
Asses
sment
60 58 54 58 4 8 10 14 10 8 4
B
Gra
de
CO1- Performance
CO2- Performance
CO3- Performance
CO4- Performance
CO5- Performance
CO6- Performance
Performance Plotting
CO-1 Distribution CO-2 Distribution CO-3 Distribution
CO-4 Distribution CO-5 Distribution CO-6 Distribution
Mapping of Course Outcomes with Program Outcomes
P P P P P P P P P PO PO PO PS PS PS
O1 O2 O3 O4 O5 O6 O7 O8 O9 10 11 12 O1 O2 O3
C 1
O1
C 1
O2
C 2 2
O3
C 2 2
O4
C 1 1
O5
C 1 1
O6
6. Other Details
4.3 Assignment Details or Problem Based Learning
Assignments will be given at the beginning of each block period and students can
continuously work on assignment and submit at the end of the block period as per the
format provided.
4.4 Academic Integrity Policy: Students are required to strictly follow academic
honesty and integrity. Copying and plagiarism in any form for any of the assessment
components will result in zero marks.