Southeast University · Department of CSE

Introduction to Programming Language II (Java)

CSE281 · Course Outline

Basic Information
Course Code:CSE281
Course Title:Introduction to Programming Language II (Java)
Course Credits:3 Credits
Class Hours:3 Hours/week
Prerequisite Course:CSE161: Programming Language I (C)
CSE162: Programming Language I (C) Lab
Course Offering Department:Department of Computer Science and Engineering
Faculty Information
Faculty:Asaduzzaman Noor
Technical Lead, Office of IT
Assistant Professor, Department of CSE
Southeast University
Faculty Initials:NOOR
Contact Information:Email: noor@seu.edu.bd
Phone: +8801747942611
Office Information:Room # 108, 1st Floor
Office of IT, Southeast University
252, Tejgaon I/A, Dhaka - 1208.
Course Schedule
Course CodeSectionDayTimeRoom
CSE2818SUN & TUE03:00 PM - 04:20 PMSEU613
CSE28211MON04:30 PM - 06:30 PMSEU613
Consultancy Hour
DayTimeDurationRoom
MON & WED03:00 PM - 04:20 PM1 hr 20 minSEU108
THU04:00 PM - 05:30 PM1 hr 30 minSEU108
Routine of the Faculty
Week03:0003:3004:0004:2004:3005:0005:3005:5006:0006:30
SundayCSE281.8 [SEU613]CSE473.4 [SEU613]
MondayConsultancy Hour [SEU108]CSE282.11 [SEU613]
TuesdayCSE281.8 [SEU613]CSE473.4 [SEU613]
WednesdayConsultancy Hour [SEU108]CSE474.5 [SEU613]
ThursdayConsultancy Hour [SEU108]
Friday
Saturday
Course Details
Importance of the Course:This course introduces students to the paradigm of object-oriented programming in the Java programming language. Emphasis is placed on writing error-free and reusable code.
Objective:Introduce the Java programming language to develop software applications to solve real life problems.
Learning Outcomes:Students will learn how to program in Java, be able to understand user requirements, develop applications with Graphical User Interface (GUI), test their programs and document their code properly.
Topics:Introduction to OOP, OOP in Java, Object, Classes, Methods, Variables, Operators, Expressions, Statements and Blocks, Control Statements, Strings, Arrays, Inheritance, Package, Interface, Exceptions, I/O, AWT, Swing, Database using JDBC, String Handling, Threads, Events, Applets, Images, Project Work.
Course Outcomes (COs)
At the end of the course, the students will be able to:
COsDescriptionTeaching-Learning StrategyAssessment Strategy
CO1Explain the four pillars of object-oriented programming and implement those concepts to write programs in Java that satisfy the given requirements.
  • Lectures
  • Interactive Coding Sessions
Formative:
  • Class Test
  • Discussion
  • Problem-based Exercise
  • Viva
Summative:
  • Mid-Term Exam
  • Final Exam
CO2Demonstrate the use of integrated development environments such as Eclipse and NetBeans.
  • Lectures
  • Interactive Coding Sessions
Formative:
  • Class Test
  • Discussion
  • Problem-based Exercise
  • Viva
Summative:
  • Mid-Term Exam
CO3Develop debugging skills by rigorously tracing specified Java programs.
  • Lectures
  • Group Discussion
Formative:
  • Class Test
  • Discussion
  • Problem-based Exercise
  • Viva
Summative:
  • Mid-Term Exam
  • Final Exam
CO4Assess pre-existing programs, containing missing components and modify them in order to fulfill their intended purpose.
  • Lectures
  • Interactive Coding Sessions
Formative:
  • Class Test
  • Discussion
  • Problem-based Exercise
  • Viva
Summative:
  • Mid-Term Exam
  • Final Exam
Course Outcomes (COs) and Program Outcomes (POs) Mapping
COPO1PO2PO3PO4PO5PO6PO7PO8PO9PO10PO11PO12
CO1✔
CO2✔
CO3✔
CO4✔
Lecture Materials
Lecture Notes:As provided during class & Google Classroom
Text Book:
Reference Book:
Online Resources:As provided during class & Google Classroom
Tentative Lecture Plan
ClassLecture No.ContentsLearning OutcomeLearning Resources
01Lecture
00
Introduction to the course, textbook, Java and its history, Introducing IDE, environment and writing and running a Hello World programStudents will be introduced to the course and its contents alongside usage in real life.
  • Course Outline
  • Lecture Slide
  • Discussion
02Lecture
01
  • Scanner, Input, Output
  • Data types
  • Variables
  • Identifiers
  • Operators
  • Type casting
Students will learn about basic primitive data types, different operations using variables, and how to write basic and simple code that can perform simple operations.
  • Lecture Slide
  • Coding Session
03Lecture
02
  • Conditional statements (if, else if, switch)
  • Loops (for, while, do-while)
  • Methods
  • Method Overloading
Students will learn how to write code with simple logic and how to write codes that repeat a task multiple times.
  • Lecture Slide
  • Coding Session
04Quiz 1
05Lecture
03
  • Introduction to OOP
  • Classes
  • Objects
  • Attributes
  • Modifiers
  • Constructors
Students will understand the fundamental concepts of OOP and how to implement them in Java.
  • Lecture Slide
  • Coding Session
  • Discussion
06Lecture
04
  • Package
  • Encapsulation
  • Inheritance
  • Polymorphism
  • Abstraction
  • Interface
  • Method Overriding
  • Discussion about project 1 submission
Students will learn more OOP concepts and their application in Java.
  • Lecture Slide
  • Coding Session
  • Discussion
07Lecture
05
  • Array
  • ArrayList
  • HashSet
  • Hashmap
Students will learn how to use and manipulate different data structures in Java.
  • Lecture Slide
  • Coding Session
  • Discussion
08Lecture
06
  • File Read/Write
  • Exception Handling
  • Case study: Developing a console application for a Contacts Manager. The objective is to create a contact that will take input of a person's ID, name, and contact number to write and read from the file.
Students will understand file operations and exception handling mechanisms in Java.
  • Lecture Slide
  • Coding Session
  • Discussion
09Quiz 2
10Lecture
07
  • Introduction to JavaFX
  • Writing and running a Hello World program in JavaFX
  • Introducing JavaFX Label, TextField and Button
Students will learn the basics of JavaFX and how to create simple GUI applications.
  • Lecture Slide
  • Coding Session
11Lecture
08
  • Converting the contact manager app to a GUI-based application.
  • Discussion about project submission
Students will apply their JavaFX knowledge to develop a GUI application.
  • Lecture Slide
  • Coding Session
  • Discussion
12Practicing by developing another GUI applicationStudents will gain more practice in developing GUI applications using JavaFX.
  • Lecture Slide
  • Coding Session
13Recap of materials covered till this pointStudents will review and consolidate their learning.
  • Lecture Slide
  • Coding Session
  • Discussion
Midterm Examination
14Lecture
09
Introduction to JavaFX ChoiceBox, CheckBox, ComboBox, ListBoxStudents will learn to use additional JavaFX components to enhance their GUI applications.
  • Lecture Slide
  • Coding Session
15Lecture
10
  • Introduction to JavaFX TableView
  • Brainstorming session to gather ideas about user requirements that they want to develop for the project submission.
Students will learn to create and manipulate tables in JavaFX. They will also brainstorm and discuss potential project ideas.
  • Lecture Slide
  • Coding Session
16Lecture
11
UML diagram and basic concepts of MySQL database.Students will learn to design UML diagrams and understand the basics of using MySQL databases.
  • Lecture Slide
  • Coding Session
  • Discussion
17Lecture
12
Store the data from the contact manager app to a MySQL database with JDBC to run some basic queries.Students will implement database connectivity and run basic SQL queries.
  • Lecture Slide
  • Coding Session
18Quiz 3
19Lecture
13
  • Implementing a Singleton data structure for the MySQL connection.
  • Implementing the interface and implementing methods in the contact manager application.
  • Discussion about project progress.
Students will learn about the Singleton design pattern and its implementation in database connections. They will also understand the use of interfaces in Java and apply them to their projects.
  • Lecture Slide
  • Coding Session
  • Discussion
20Lecture
14
  • Enum
  • Math
  • LocalDate
  • LocalTime
  • Lambda expressions to filter, sum, average and sort an ArrayList.
Students will learn about Enums, mathematical operations, date/time handling, and lambda expressions in Java.
  • Lecture Slide
  • Coding Session
  • Discussion
21Lecture
15
  • Introduction of threads and multithreading.
  • Implementing concurrent execution of a task.
Students will learn about multithreading and how to implement concurrent tasks in Java.
  • Lecture Slide
  • Coding Session
22Quiz 4
23Lecture
16
  • Basic debugging
  • How to write clean code
  • Java Documentation
  • Brainstorming and problem solving session
Students will learn debugging techniques, best practices for clean code, and how to document their Java programs.
  • Lecture Slide
  • Coding Session
  • Discussion
24
  • Project Presentation
  • Recap of materials covered till this point
Students will present their final projects. They will also review and consolidate their learning before the final exam.
  • Lecture Slide
  • Coding Session
  • Discussion
Final Examination
Teaching and Learning Methods
Online Learning Management System (Google Classroom)
Lecture delivery in Physical Class
Lecture materials in Google Classroom
Discussion during class and counseling hours
Sample codes provided during physical class and via Google Classroom
Tentative Assessment Schedule
SerialAssessment TypeScheduleExam Mode
1.Quiz 1Week 02Written
2.Quiz 2Week 04Written
3.Project 1 SubmissionWeek 05Presentation
4.Viva 1Week 06Oral
5.Midterm ExaminationWeek 07Written
6.Quiz 3Week 09Lab
7.Quiz 4Week 12Lab
8.Project 2 PresentationWeek 13Presentation
9.Viva 2Week 13Oral
10.Final ExaminationWeek 14Written
Tentative Weight of Assessment
SerialAssessmentPercentageRemarks
1.Class Attendance10%As per policy
2.Quiz15%Average of Quiz Marks
3.Assignment05%Average of Assignments
4.Project Presentation20%Project Features & Coding Skills
5.Midterm Examination20%
6.Final Examination30%
Total100%
Grading Policy
ScoresGradeGrade PointInterpretation
80 - 100A+4.00Outstanding
75 - 79A3.75Excellent
70 - 74A-3.50Quite Excellent
65 - 69B+3.25Very Good
60 - 64B3.00Good
55 - 59B-2.75Quite Good
50 - 54C+2.50Above Average
45 - 49C2.25Average
40 - 44D2.00Poor
Less than 40F0.00Fail
I-Incomplete
W0.00Withdraw
Aiding Materials for Learning
Internet Connectivity
SEU social email ID
Should know how to use “Google Meet” and “Google Classroom”
Faculty Suggestions
Students will not be allowed to sit in the Final exam if their attendance is less than 70% without any valid reason.
Students should enter the class on time.
If you have any difficulty with understanding, I suggest you not hesitate to ask questions in the class.
Taking notes is important: Please take your own notes during the lecture.
Don’t expect lecture slides and collect notes during class.
Submit the assignments in Google Classroom in due time.
Plagiarism is strictly discouraged during the submission of assignments.
Check your email every day to have updates on classes and assessments.