Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Course Outline

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 9

SUKKUR INSTITUTE OF BUSINESS ADMINISTRATION

UNIVERSITY

Department of Electrical Engineering


Course Title: Object Oriented Programming (CSE-211)
Programs & Class: BE-IV, Section A Semester: Fall 2022
Credit Hours: 4 (3+1) [6(3+3) contact hours per week] Instructor: Dr. Abdul Aziz Memon
Pre-requisite Courses: NA Support Instructor: NA
Co-requisite Courses: None Post-requisite Courses: None
Office Hours: 08 am – 6 pm E-mail: aziz.memon@iba-suk.edu.pk
Office Location: Room# 203, Academic Block-III Consulting Hours: 3 PM - 6 PM (Tues-Fri)
Otherwise please make an appointment

RECOMMENDED TEXTBOOK:
S.No Book Name Author/s Name Publisher Name & Edition
1. Java the Complete Reference Herbert Schildt McGraw-Hill, 12th edition

REFERENCE BOOKS:
1. Head First Java Kathy Sierra, Bert Bates, and Trisha Gee O’Reilly, 3rd edition
Introduction to Java Programming and data
2. Y. Daniel Liang Pearson, 12th edition
structures (Comprehensive version)
3. Java Programming: From Problem D.S. Malik Cengage Learning, 5th
Analysis to Program Design edition
4. Java How to Program, Early Objects Paul Deitel, Harvey Deitel Pearson, 10th edition

WEB Resources (if any):


1. https://www.javatpoint.com/java-tutorial
2. https://www.w3schools.com/java/default.asp
3. https://www.tutorialspoint.com/java/index.htm
4. https://www.learnjavaonline.org/

COURSE DESCRIPTION:
This course is divided into three parts. In the first part students will begin to learn about Java and
fundamental programming techniques with primitive data types, variables, constants, assignments,
expressions, and operators, selection statements, mathematical functions, characters, strings, loops,
methods, and arrays. The second part introduces object-oriented programming that uses abstraction,
encapsulation, inheritance, and polymorphism to provide great flexibility, modularity, and reusability in
developing software. Third part introduces Java GUI programming. GUI is not only useful for developing
GUI programs, but also an excellent pedagogical tool for learning object-oriented programming. Major
topics include GUI basics, components, event handling etc.
Course Learning Outcomes Mapped OBE PLOs Domain, Level of learning Teaching
Methods
I. Students will be able to analyse object-oriented programs 2 Theory: Cog-4 (Analyse) Lecture
to compute the output, identify logical &/or syntax errors. (Problem Analysis) slides/videos,
demos,
II. The students will be able to develop solutions for small 1 Theory: Cog-3 (Apply) handouts
to medium scale problems by applying fundamental & (Engineering Knowledge) Lab: P3 (Guided response)
object-oriented programming concepts & techniques. Psy-5(Performs automatically)
III. The students will be able to develop interactive 3 Lab: P3 (Guided response)
graphical user interface. (Design & Development Psy-5(Performs automatically)
of Solutions)

Attainment in Theory Lab


Component Mid Final Assignment Quizzes Mid Final Handouts Lab perf. OEL Project
CLOs \ Marks 30 50 10 10 15 20 2.5 5 2.5 5
CLO-I P2C4 P2C4 P1P3(1~4) P1P3(1~4)
CLO-II P1C3 P1P5 P1P3(6~11) P1P3(6~11)
CLO-III P3P5 P3P3(12~14) P3P3(12~14)

*PnDm PLO-No. Domain-level

Details of PLOs, Domains, Levels


Mapped OBE Program Learning Outcomes (PLOs):
 PLO 1. Engineering Knowledge  PLO 2. Problem Analysis
 PLO 3. Design/Development of Solutions ☐ PLO 4. Investigation
☐ PLO 5. Modern Tool Usage ☐ PLO 6. The Engineer and Society
☐ PLO 7. Environment and Sustainability ☐ PLO 8. Ethics
☐ PLO 9. Individual and Teamwork ☐ PLO 10. Communication
☐ PLO 11. Project Management ☐ PLO 12. Lifelong Learning

PLO 1. Engineering Knowledge:


An ability to apply knowledge of mathematics, science, engineering fundamentals and an engineering specialization to the
solution of complex engineering problems.

PLO 2. Problem Analysis:


An ability to identify, formulate, research literature, and analyse complex engineering problems reaching substantiated
conclusions using first principles of mathematics, natural sciences, and engineering sciences.

PLO 3. Design/Development of Solutions:


An ability to design solutions for complex engineering problems and design systems, components or processes that meet specified
needs with appropriate consideration for public health and safety, cultural, societal, and environmental considerations.

PLO 4. Investigation:
An ability to investigate complex engineering problems in a methodical way including literature survey, design and conduct of
experiments, analysis and interpretation of experimental data, and synthesis of information to derive valid conclusions.

PLO 5. Modern Tool Usage:


An ability to create, select and apply appropriate techniques, resources, and modern engineering and IT tools, including prediction
and modelling, to complex engineering activities, with an understanding of the limitations.

PLO 6. The Engineer and Society:


An ability to apply reasoning informed by contextual knowledge to assess societal, health, safety, legal and cultural issues, and the
consequent responsibilities relevant to professional engineering practice and solution to complex engineering problems.

PLO 7. Environment and Sustainability:


An ability to understand the impact of professional engineering solutions in societal and environmental contexts and demonstrate
knowledge of and need for sustainable development.

PLO 8. Ethics:
Apply ethical principles and commit to professional ethics and responsibilities and norms of engineering practice.

PLO 9. Individual and Teamwork:


An ability to work effectively, as an individual or in a team, on multifaceted and /or multidisciplinary settings.
PLO 10. Communication:
An ability to communicate effectively, orally as well as in writing, on complex engineering activities with the engineering
community and with society at large, such as being able to comprehend and write effective reports and design documentation,
make effective presentations, and give and receive clear instructions.

PLO 11. Project Management:


An ability to demonstrate management skills and apply engineering principles to one’s own work, as a member and/or leader in a
team, to manage projects in a multidisciplinary environment.

PLO 12. Lifelong Learning:


An ability to recognize importance of, and pursue lifelong learning in the broader context of innovation and technological
developments.
COURSE OUTLINE THEORY

Week CLO Suggested


Topics
# Mapping Readings

Overall Introduction
Introduction about course contents, CLOs, PLOs, domain and level of learning, tools,
text/reference books, marks distribution (exams, assignments, quizzes, presentations, lab NA NA
manual, projects etc), attendance, LMS, contact, timetable, academic calendar, office time etc.

1 Chapter 1 The History and Evolution of Java


Programming languages, and language paradigms Textbook Chapter 1
Java language motivation and use NA The History and
JDK, development tools, JRE, JVM, JIT, libraries, bytecode Evolution of Java
Java Buzzwords
JDK versions, editions, Java IDEs
Chapter 2 An Overview of Java
The Three OOP Principles Textbook Chapter 2
2 Simple Java programs with control Statements, blocks of code CLO-I An Overview of
Lexical in Java Java
The Java Keywords
The Java Class Libraries
Chapter 3 Data Types, Variables, and Arrays
Data types: Integers, Floating-Point, Characters, Booleans
A Closer Look at Literals Textbook Chapter 3
Variables Data Types,
3 CLO-I
Type Conversion and Casting Variables, and
Arrays Arrays
Introducing Type Inference with Local Variables
A Few Words About Strings
Chapter 4 Operators
Arithmetic, the Bitwise, relational, boolean logical, assignment Operators Textbook Chapter 4
4 CLO-I
The ? Operator Operators
Operator Precedence
Chapter 5 Control Statements
Java’s Selection Statements Textbook Chapter 5
CLO-I
5~6 Iteration Statements Control Statements
Jump Statements
Quiz-I
Chapter 6 Introducing Classes
Class Fundamentals
Declaring Objects
Assigning Object Reference Variables Textbook Chapter 6
7~8 Introducing Methods CLO-I
Introducing Classes
Constructors
The this Keyword
Garbage Collection
A Stack Class
Mid-term Examination
Chapter 7 A Closer Look at Methods and Classes
Overloading Methods
Using Objects as Parameters
A Closer Look at Argument Passing
Returning Objects Textbook Chapter 7
Recursion
A Closer Look at
Introducing Access Control CLO-I
9~10 Methods and
Understanding static
Classes
Introducing final
Introducing Nested and Inner Classes
Using Command-Line Arguments
Varargs: Variable-Length Arguments
Local Variable Type Inference with Reference Types
Quiz-II
11~12 Chapter 8 Inheritance CLO-I, II Textbook Chapter 8
Inheritance Basics Inheritance
Using super
Creating a Multilevel Hierarchy
When Constructors Are Executed
Method Overriding
Dynamic Method Dispatch
Using Abstract Classes
Using final with Inheritance
Local Variable Type Inference and Inheritance
The Object Class
Chapter 9(a) Packages
Understand how packages affect access Textbook Chapter 9
12 CLO-I, II Packages and Interfaces
Apply the protected access modifier
Import packages
Know Java’s standard packages

Chapter 9(b) Interfaces


Understand interface fundamentals Textbook Chapter 9
13 Implement an interface CLO-I, II
Packages and Interfaces
Apply interface references
Understand interface variables
Extend interfaces

Chapter 33 Exploring Swing


Know the origins and design philosophy of Swing
Understand Swing components and containers
Know layout manager basics
Textbook Chapter
Create, compile, and run a simple Swing application
13~15 CLO-III 33
Learn event handling fundamentals
Exploring Swing
Use JButton
Work with JTextField
Create a JCheckBox
Work with JList
16 Revision, Assignment, Quiz-III
Final-term Examination

List of Lab Experiments:


Lab# Objective CLO Mapping
1 Downloading, installing & setting up JDK & NetBeans IDE to write, compile execute and debug simple Java CLO-II
programs
2 Understanding and using Java data types, variables, type conversion (automatic promotion, casting), inference, CLO-II
arrays, strings
3 Understanding and using arithmetic, bitwise, relational, Boolean logical, assignment, ternary operators and their CLO-II
precedence
4 Understanding and using selections, loops and jump statements CLO-II
5 Open Ended Lab: Tic-tac-toe game
6 Understanding and using classes, objects, constructors, methods, and keywords such as new & this CLO-II
7 Understanding and using overloading (polymorphism), recursion CLO-II
8 Understanding and using access control modifiers (encapsulation [public, private, protected]), and keywords CLO-II
such as static & final
Mid Term Examination
9 Understanding and using String class, command line arguments, variable length arguments CLO-II
10 Understanding and using inheritance, keyword super, multilevel hierarchy CLO-II
11 Understanding and using method overriding, dynamic method dispatch, abstract class, final keyword with CLO-II
overriding and inheritance
12 Understanding and designing java GUI components to layout CLO-III
13 Design and develop Java GUI based layout with Swing components CLO-III
14 Design and develop Java GUI based interactive application CLO-III
NA Final Term Examination

# List of suggested projects BUT NOT LIMITED TO


1 3D coordinate system converter
2 Automatic entry test three merit lists generator
3 Statistical Calculator
4 2-D function plotter
5 3-D function plotter
6 Snake game
7 MS-Paint
8 DoEE record keeping and retrieval
9 Sliding puzzle game
10 Space shooter game
11 2048 game
12 Resistor color coding
13 Tic-tac-toe game
14 School/Bank/Hotel Management System
Understanding and using exceptional handling [types, uncaught, try, catch, throw, throws, finally]

Reviewed by ACC on __________

Review Comments:

Approved by ACC on___________


Head of ACC HoD, Electrical Engineering
OOP-Open Ended Lab Rubric

PLO-Domain-Level

Below Expectations
Progressing to meet
Fully meets criteria

per criteria (%age)


Criteria (60~79%)

Criteria (40~59%)

Assigned marks
(0~39%) Poor
Criteria

Almost meets
(80~100 %)
CLO-

Excellent

Average
Weight

Good
Usefulness of chosen application -- 0.20 100 20
Formatted well
-- 0.20 100 20
Filled details, indentation, comments
Required results
3C3 0.10 100 10
Can satisfy various cases as well
Methodology
Used fundamental, Object oriented, and/or GUI programming 3C3 0.20 100 20
concepts, techniques wherever required
Program logic
3C3 0.20 100 20
Understandable, small, less complex, fast, occupying low memory
Timely submission -- 0.10 100 10
Total obtained score (%age) 100
Marks obtained in CLOs (%age) 100

OOP-Lab Handout Submission Rubric


PLO-Domain-Level

Below Expectations
Progressing to meet
Fully meets criteria

per criteria (%age)


Criteria (60~79%)

Criteria (40~59%)

Assigned marks
Criteria

(0~39%) Poor
Almost meets
(80~100 %)
CLO- Excellent

Average
Weight

Good
Required results
3C3 0.4 100 40
Can satisfy various cases as well
Methodology
Used fundamental, Object oriented, and/or GUI 3C3 0.4 100 40
programming
Program structure/logic
3C3 0.2 100 20
Understandable, small, less complex
Total obtained score (%age) 100

OOP-Lab Exam Rubric


PLO-Domain-Level

Below Expectations
Progressing to meet
Fully meets criteria

Criteria
per criteria (%age)
Criteria (60~79%)

Criteria (40~59%)

Assigned marks
(0~39%) Poor
Almost meets

CLO-II:
(80~100 %)

Excellent

Average
Weight

Good

C1: Required results


3C3 0.4 100 40
Can satisfy various cases as well

C2: Methodology

Used fundamental, Object oriented, 3C3 0.4 100 40


and/or GUI programming

C3: Program structure/logic


3C3 0.2 100 20
Understandable, small, less complex

Total obtained score (%age) 100


OOP-Lab Activity Performance Rubric

Criteria

PLO-Domain-Level

Below Expectations
Progressing to meet
Fully meets criteria

per criteria (%age)


Criteria (60~79%)

Criteria (40~59%)
CLO-II: Lab # 1~5

Assigned marks
(0~39%) Poor
Almost meets
(80~100 %)
CLO-III: Lab # 6~12

Excellent

Average
Weight

Good
CLO-IV: Lab # 13~14

C1. Required results


3C3 0.4 100 40
Can satisfy various cases as
well
C2. Methodology
Used fundamental, Object 3C3 0.4 100 40
oriented, and/or GUI
programming
C3. Program
structure/logic
3C3 0.2 100 20
Understandable, small, less
complex
Total obtained score (%age) 100

S# CMS-ID Name C1 C2 C3 Total


1 033-20-0027 Aamir
2 033-20-0041 Abdul Wajid
3 033-18-0012 Afaque Hussain
4 033-20-0044 Ali Bux Tunio
5 033-20-0035 Alishba Shah
6 033-20-0022 Asim Murtaza
7 033-19-0015 Bhai Khan
8 033-20-0026 Habibullah
9 003-20-0025 Hammad Adnan

You might also like