BTP400 Course Outline

Course Code: BTP400
Course Name: Object-Oriented Software Development II - Java
Offered Date: Winter - 2017 | Other versions
Print Outline
Course Description:
Java is a widely-used, class-based, object-oriented programming environment. Its appeal comes from platform independence, programming convenience, and a rich and vibrant ecosystem. This subject will serve as a thorough introduction to Java as an object-oriented and functional programming language. Topics studied will include object-oriented concepts, lambda expressions, functional interfaces, threads, exceptions, graphical user interface programming with Java FX, input / output, networking, client-server programming, servlets, and database access via JDBC.
Credit Status: 1 credit (3 units)
Required for BSD - Bachelor of Technology (Software Development)
Prerequisite: BTP305
Mode of Instruction: Modes: In-class lecture, in-class exercises, and hands-on activity
Hours per week: 4
Room configurations: Classroom, and computer lab
Typical scheduling pattern: Winter term
Learning Outcomes:
  •     compose technical program documentation using internal comments for Java programs
  •     use JDBC in a Java application to access a DBMS
  •     solve a programming problem by consulting technical documentation and specifications (the Java API), and selecting appropriate classes and methods
  •     analyze a written specification for a class, and design and create a class in Java which fulfills that specification
  •     create a simple client/server application over a network using sockets
  •     test and debug Java programs
  •     apply OO programming principles, including encapsulation, polymorphism, and inheritance, in writing Java programs
  •     install Java in a Windows environment
  •     create Java packages within a Windows directory structure
  •    analyze problems, and design and create Java applications and/or applets to solve them, selecting previously written classes when appropriate and designing new classes when appropriate
  •     design and code an appropriate GUI interface
  •     use Windows to edit, compile and run Java programs
  •     trace the execution of program logic, to determine what a program does, or to validate the correctness of a program
Topic Outline:
  • Classes and Objects - 10%
    •         primitive types and references to objects
    •         programming with types and packages
    •         generics and annotations
  • Interface, Nested Classes, Functional Concepts - 20%
    •         working with interface
    •         static nested classes
    •         inner classes 
    •         anonymous inner classes
    •         lambda expressions
    •         functional interfaces
  • Exceptions - 5%
    •         exception handlers, transfer of control
    •         asynchronous exceptions
    •         try, catch, finally blocks
  • Threads - 15%
    •         creating threads using Thread class/Runnable interface
    •         synchronization design, wait / notify
    •         thread scheduling, management and thread group
  • Standard Java Packages - 10%
    •         java.io - Input/Output Stream, Reader/Writer and serialization
    •         java.net - Sockets
    •         java.util - Collections: Set, List, Queue, Map
  • Networking - 10%
    •         InetAddress class
    •         socket and server socket
    •         uniform resource locator - URLConnection class
  • Java FX - 10%
    •        build-in UI controls
    •        Webview and Swing interoperability
    •        self-contained application development model
  • Remote Method Invocation - 10%
    •         RMI specifications
    •         RMI client and RMI server
    •         RMI tools: rmic, rmiregistry
  • Introduction to Java Enterprise Edition - 10%
    •         JDBC - Data Access APIs
    •          servlets
Prescribed Text(s):
Reference Material:


Introduction to Java Programming, Comprehensive Version - 9th Edition
by Y. Daniel Liang
ISBN 0-13-293652-6
Prentice Hall

The Java Tutorial - 5th Edition
by Sharon Zakhour, Sowmya Kannan, and Raymond Gallardo
Addison - Wesley
ISBN 0-13-276169-6

Promotion Policy:
To obtain a credit in this subject, a student must:
  •     Pass the weighted average of all assessments
  •     Pass the weighted average of the exam and the tests
  •     Pass the final exam
  •     Successfully complete all of the assignments and exercises. Submissions that do not meet specifications will be returned to the student for revision and resubmission.

Grading Policy
A+ 90%  to  100%
A 80%  to  89%
B+ 75%  to  79%
B 70%  to  74%
C+ 65%  to  69%
C 60%  to  64%
D+ 55%  to  59%
D 50%  to  54%
F 0%    to  49% (Not a Pass)
EXC Excellent
SAT Satisfactory
UNSAT Unsatisfactory

For further information, see a copy of the Academic Policy, available online (http://www.senecacollege.ca/academic-policy) or at Seneca's Registrar's Offices.

Lab Assignments 20%
Assignments (2) 20%
Tests (2) 30%
Final Exam 30%

Approved By:
Mary-Lynn Manton
Cheating and Plagiarism:
Each student should be aware of the College's policy regarding Cheating and Plagiarism. Seneca's Academic Policy will be strictly enforced.

To support academic honesty at Seneca College, all work submitted by students may be reviewed for authenticity and originality, utilizing software tools and third party services. Please visit the Academic Honesty site on http://library.senecacollege.ca for further information regarding cheating and plagiarism policies and procedures.
Discrimination and Harassment:
All students and employees have the right to study and work in an environment that is free from discrimination and/or harassment. Language or activities that defeat this objective violate the College Policy on Discrimination/Harassment and shall not be tolerated. Information and assistance are available from the Student Conduct Office at student.conduct@senecacollege.ca.
Accomodation for Students with Disabilities
The College will provide reasonable accommodation to students with disabilities in order to promote academic success. If you require accommodation, contact the Counselling and Disabilities Services Office at ext. 22900 to initiate the process for documenting, assessing and implementing your individual accommodation needs.