Programming Language II

#Java#object oriented programming#OOP

CSE215: Programming Language II


This course introduces the basic concepts and techniques of object oriented programming. Actual computer programs are constructed by apply object oriented programming concepts and using an OOP language. Java is primarily chosen as the programming language in this course. The following topics are covered in this course - Java syntax with elementary programming, primitive data types, strings, operators, statements, arrays and methods, introduction to OOP, classes and objects, constructor, polymorphism, abstract classes and interfaces, file IO operations, handling exceptions in Java, GUI, multithreading, generics and related concepts.

Course Objectives: The objectives of this course are

  • a. to become used to the basics of elementary programming such as variables, conditional

and iterative execution, arrays and methods in Java;

  • b. to understand the attributes of object oriented programming such as encapsulation (e.g.

visibility modifiers), polymorphism (e.g. method overloading, method overriding), data abstraction (e.g. abstract classes, interfaces), inheritance, static and dynamic binding;

  • c. to design a programming solution using the object oriented programming concepts by

applying the concepts of exception handling, graphical user interface (GUI), event-driven programming, multi-threaded programming, generics in Java;

  • d. to introduce Java SDK and Java IDE tools to develop Java applications with debugging;
  • e. to support as a team member to develop applications in a project using Java.

This course also has a corresponding credit lab session. Lab Coursework includes implementing algorithms and theoretical concepts with respective programming languages as deemed necessary by the course curriculum.


Course Outcomes: Upon Successful completion of this course, students will be able to:
  • CO1 : Explain and apply the attributes of object oriented programming (encapsulation, polymorphism, etc.) and concepts of OOP such as method overloading, method overriding, static and dynamic binding, abstract class, interface, visibility modifiers, as well as IO operations, exception handling, etc.
  • CO2 : Design a programming solution using the object oriented programming concept, and apply the concepts of exception handling, graphical user interface (GUI), event-driven programming, multi- threaded programming, generics in Java
  • CO3 : Use Java SDK and Java IDE tools to develop Java applications with debugging

Informations

  • Credit Hours : 03
  • Type: Core
  • Prerequisites: CSE173 Discrete Mathematics & CSE115 Programming Language I
  • Faculty Name: Muhammad Shafayat Oshman (MUO)
  • Office Room: SAC1181
  • Consultation Hours: ST 4:20 PM - 6:00 PM || M 3:00 PM - 4:10 PM
  • Email: muhammad.oshman@northsouth.edu
  • Lectures - 3 Hours/week
  • Class timings of Theory:
    • Section 7 - ST 1:00 PM - 2:30 PM - LIB611
    • Section 8 - ST 2:40 PM - 4:10 PM - LIB604
  • Class timings of Lab:
    • Section 4 - ST 8:00 AM - 9:30 AM - LIB607
    • Section 13 - ST 9:40 AM - 11:10 PM - LIB607
  • Lab Instructor for Section 7 & 8: TBA
    • Email: TVA
    • Consultation Hours: TBA
    • Office Room: TBA
  • Teaching Assistant: TBA
    • Email: TBA
    • Consultation Hours: TBA
    • Office Room: TBA

Resources

Text Books :

  • Introduction to Java Programming by Y. Daniel Liang (10th Edition)

Course Slides :

Any and all course materials and announcements will be posted in Canvas.


Topics

  • Introduction
  • Data Types
  • Variables and Operator
  • Conditional statements
  • Looping Statements
  • Java Arrays
  • Java Methods (Local and Global scope)
  • Classes and Objects in Java
  • Inheritance
  • Polymorphism
  • Abstract Classes
  • Interfaces
  • File Input/Output
  • Exception Handling
  • Garbage Collection methodologies

Marking Scheme (Theory)

Assessment ToolsWeightage (%)
Assignments (Written + Viva)10
Quiz20
Mid-term30
Final40
100

Marking Scheme (Lab)

Assessment ToolsWeightage (%)
Lab Tasks30
Mid-term20
Final30
Project (Code Implementation + Report)20
100

Grading policy

As per NSU grading policy available in http://www.northsouth.edu/academic/grading-policy.html


Course Policies

  • Be good and follow university policies. Any breach of university policies will be reported to the Department, Proctor Office and University Syndicate for further actions. Any additional directions will be updated as we proceed through the course.
  • Plagiarism is strictly prohibited. Plagiarism can be defined as "presenting someone else's work or ideas as your own, with or without their consent, by incorporating it into your work without full acknowledgement." First offense of plagiarism will result in losing the entire marks of the assignment/exam where plagiarism is detected. Second offense will result in awarding the student an F grade for the entire course.
  • Attendance is not mandatory, hence you may choose to skip classes if you wish to. However, if you do decide to come to the class, please make sure you are adhering to class etiquettes: do not talk to anyone except the instructor, eat or drink or use any device such as mobile or laptops. In case of emergency, please ask permission from the instructor before leaving the classroom.
  • Assignments won't be accepted after deadline.
  • No make-up quiz, mid or final will be held except for valid medical reasons, in which case the student must present medical documents as proof.
  • Sharing assignment or quiz specifications or posting them online (to sites like Chegg, CourseHero etc.) is considered academic misconduct. You are never permitted to post, share, or upload course materials without explicit permission from your instructor.
  • If you are ever in doubt about anything, consult with instructor.
Shafayat Oshman

Shafayat Oshman

Lecturer

My research interests are Computer Networks, Data Communications, Computer and Cloud Security.

Social Links