North South University
Department of Electrical Engineering and Computer Science
CSE 215: Computer Programming-2 (Section 7,8)
Course Outline – Summer 2018
Instructor: Shah Mostafa Khaled
Office Location: NAC 944
Email:
[email protected]Office hours:
Sunday/Tuesday 01:00 PM - 02:30 PM (MW)
Any other day By appointment
Class hours: 9:40 AM - 11:10 AM ,
8:00 AM – 9:30 AM
Classroom: # Lab:
Credit: 3 credit hours.
Course Outline: This course teaches how to program in Java. Topics covered include the java
programming language syntax, object oriented programming using java, exception handling, file
input/output, threads, logging, debugging and networking. This course is designed for the students
who want to learn Java programming language and object oriented designed with no prior
understanding on object oriented programming. Only a fresh mind with enthusiasm of learning a new
programming language and keenness to explore a new world is required, but some familiarity with
structured programming language C would be counted as a plus.
Textbook: Java The Complete Reference by Herbert Schildt, 8th Edition
Reference Book:
1. A Programmer’s Guide to Java SCJP Certification: A Comprehensive Primer By Khalid Azim
Mughal, Rolf Rasmussen
2. Head First Java by Kathy Sierra, Bert Bates
Additional reading materials will be provided by the instructor.
Marks distribution:
1. Assignment 20%
2. Quizzes 20%
3. Midterm 25%
4. Final 30%
5. Attendance 5%
Date and schedule (Tentative)
Week Topic
1 First program in java
1. What is java and why java?
2. What can we do with java?
3. How java works?
4. Is Java a compiled language or interpreted language, and the differences?
5. What is Java Virtual Machine and Java Runtime?
6. Java development kit and IDE
7. Java installation (where to find resources and how to install, eclipse)
8. Writing a simple hello world program in Java
9. Java main methods and printing hello world
2-3 Java syntax
1. Package declaration
2. Import statement
3. Class, fields and methods
4. Constructors
5. How to comment in java?
6. Primitive data types e.g. int, long, double, float, char, short, boolean and byte
7. Strings and literal
8. Wrapper class
9. Nonexistence type – null
10. Different type of operators – unary, ternary, assignments, equality, and , or,
logical and, logical or
11. Looping ( for, while, do )
12. Arrays
13. Different statements ( break, return, continue)
14. Switch case ( Java 7 has special feature on switch, switch case now handle string
also)
4 Object oriented programming -1
1. Procedural programming vs. Object Oriented Programming
2. Objects
3. The world is object oriented
4. Class
5. Interfaces
6. Abstract classes
7. Inheritance
8. Polymorphism
9. Encapsulations
5-6 Object oriented programming -2
1. Again inheritance with more details, use case scenario
2. Polymorphism
3. Method overriding and method overloading
4. Encapsulations in grater details
5. Pass by value and pass by reference
7 Exception handling
1. Basic five keywords – try and catch
2. Checked exceptions vs unchecked exceptions
3. Throw and throws
4. NullPointerExcpetions
5. ArrayIndexOutOfBoundException
6. Common exceptions
7. User defined exceptions
8 String operations & Generics
1. String creations
2. String length and string operations
3. Character extractions
4. String comparison
5. String searching and modifying
6. String buffers and String Builders
7. Generics
8. Use of Generics
9. Wild Card
9 Java I/0
1. Streams
a. Byte stream
b. Character stream
c. Buffered stream
d. Scanning and formatting
e. Data stream
f. Input stream
g. Output stream
2. File
a. Reading text file
b. Writing text file
3. Path and creating a path
4. Retrieving a path
5. Directory and tree
a. Finding file in a directory
b. Walking through directory
6. Asynchronous I/O
10-11 Java Collection Framework
1. Java Collection Framework
2. Collection interfaces
3. List & SortedList
4. Map and SortedMap
5. Navigable Map
6. Set and Sorted Set
7. Navigable Set
8. Queue and DeQueue
9. Stack
10. hashCode() and equals()
11. Comparator and Comparable
12 Logger and Debugging
1. Logger
2. Log levels
3. Log hierarchy
4. Formatters and filters
5. Logger Handlers and LogManager
6. Logger Configuration
7. What is Debugging
8. Debugger flow
9. Debugging using a debuggers
10. Break points and variables
11. Scopes and steps
Exams and Quizzes: Midterm date will be announced later in the class. There will be 4/5 quizzes
in the class. Exams and quizzes will be closed book and closed notes. No electronic devices except
non-programmable calculators will be allowed during exams. Calculators cannot be shared with
friends. Nobody will be allowed to go outside the exam hall. There will be no makeup quizzes, as I
will take drop one quiz with the lowest score. If you miss a quiz, you will get zero for that. Any
violation of the exam policy may result in failure grade in your corresponding exam or quiz. Final
exam will be comprehensive.
Homework: You have to submit homework at the beginning of the class when it is due. If you miss
this deadline, your homework points will be reduced by 40% for next day submission. If you miss the
next day’s deadline, your will get zero credit for that homework. It is your responsibility to check with
the TA that he/she has received your homework. To be successful in the exam, you should solve
homework problems independently, although you may discuss with your friends to understand a more
comprehensive picture of the problems.
Class attendance: Attendance in my class is mandatory. Those who attend 60% or above classes,
their attendance will be calculated on 5% of the course grade. If you miss more than 40% of the
classes, your attendance point will be zero. Attendance will be counted within five minutes at the
beginning of the class. If you come late, you will get a late attendance. Three late attendances equal to
one missed class. If you attend a class, you have to stay throughout the class duration, unless you take
prior permission from me for your early departure. Otherwise, your attendance will be changed to
absent.
Class etiquette: Distracting others in class is violating others rights to be attentive. So, food, laptop or
cell phones cannot be turned on during class time. You have to share any talk with the whole class. Be
careful about personal talking. No talking will be tolerated when I write at board.
Grade dispute: If you dispute your grade on any homework, project or exam, you have one week
time from the date that the graded paper was returned to you to request a change in the grade. After
this time, no further change in grade will be considered. The instructor and the TA reserve the right to
re-grade the whole paper.
General course administration: The class presentations will be interactive lectures. I will provide
you lecture slides following the lecture sessions.
Academic Honesty: Any means of unauthorized assistance in preparing materials which a student
submits as original work is deemed to be cheating and constitutes grounds for disciplinary action.
Instructors are expected to use reasonably practical means of preventing and detecting cheating. Any
student judged to have engaged in cheating might receive a reduced grade for the work in question, a
failing grade in the course, or such other lesser penalty, as the instructor deems appropriate. Serious
instances may be referred to the Disciplinary Committee in the Office of the Vice Chancellor.