PRG556 - Internet Programming and Distributed Computing

Outline information
Semester
Schools offering this subject
Last revision date 2024-01-29 01:16:33.193
Last review date 2024-04-01 00:15:07.213

Subject Title
Internet Programming and Distributed Computing

Subject Description
This subject continues on from PRG355 and PRG455 where the student had been introduced to Object-Oriented Programming and Structured Query Language.  This course starts with an introduction to the web and web documents.  Web document presentation styles are examined.  Then student is introduced to the Java language, building on the object-oriented programming knowledge gained from PRG355 and PRG455.  Armed with a working knowledge of the Java environment, the student goes on to study Java client/server applications, and multi-threading.  The student then progresses to server-side application programming and is introduced to related technologies such as HTTP and J2EE.  The student explores server-side programming in greater detail using a J2EE application server with a further exploration of J2EE technologies such as Servlets, JSP, Filters, and JSTL.   Finally, the student explores SQL with an overview of JDBC covering simple queries and database updating.  The student will demonstrate learning through in-class exercises, assignments, and a term project.

Credit Status
One subject credit in the Computer Engineering Technology program.

Learning Outcomes
Upon successful completion of this subject the student will be able to:

This course will concentrate primarily on the Java Enterprise Edition (J2EE) using a J2EE Application Server and how it is applied to web application development.
 

Designing a Web Application

 
This topic will introduce the student to the basic elements of web pages and the HTML language.  This topic will also cover installation and configuration of the tools required for this course.  Upon completion of this topic, the student will:
 
-           be able to create a simple static web page
-           be able to create an XHTML document and understand how it differs from an HTML document
-           be able to create a simple static JSP
-           be able to create a web application
-           be able to deploy a web application
-           be able to install, configure, and use a J2EE application server
-           be able to install and use J2EE development tools
 

Cascading Style Sheet

 
This topic will show students how to specify presentation styles in their web documents independent from the document's structure.  Upon completion of this topic, the student will:
 
-           be able to specify presentation styles for the document
-           be able to indicate which part of the document the presentation style applies to using CSS selectors
-           understand the fundamental layout structure of the document and how it impacts document presentation
-           understand CSS block and inline content presentation
 

Introduction to the Java Language

 
This topic will introduce the student to the java language and the java platform.  Upon completion of this topic, the student will:
 
-           be able to handle errors and exceptions
-           be able to use fundamental data types and arrays
-           be able to create java classes and packages
-           be able to create and use java interfaces
-           be able to use java collection classes and generics
-           understand the basic architecture of a client/server application
-           understand multithreading
-           understand and be able to create and use a simple application framework
 

Java Enterprise Edition (J2EE)

 
This topic will introduce the student to the J2EE application framework.  The students will learn how to write and execute J2EE applications on a J2EE application server.  Upon completion of this topic, the student will:
 
-           be able to use a J2EE application server
-           be able to configure a J2EE application using application descriptor files and/or java annotations
-           be able to write and execute Servlets
-           understand how web clients and web servers communicate
-           be able to control the application flow
-           understand and respond to J2EE events
-           be able to combine Servlets and JSPs into a common application
-           understand and be able to use the JSP 2.0 Expression Language in JSPs
-           be able handle errors and exceptions and redirect them to specific handler pages
 

J2EE Advanced Programming

 
This topic will introduce students to the more complex features of J2EE programming.  Students will learn how to apply good design principles to J2EE application development.  Upon completion of this topic, the student will:
 
-           understand and be able to use Filters
-           examine the MVC (also called Model 2) design pattern and be able to apply it to J2EE applications
-           be able to create and use JavaBeans
-           be able to manage session state in the stateless HTTP environment
-           be able to create and use HTTP cookies
-           be able to use the JSP Standard Template Library (JSTL)
-           be able to create and use custom tag libraries
 

Database Connectivity

 
This topic will cover the use of databases using Java Database Connectivity (JDBC).  Upon completion of this topic, the student will:
 
-           understand and be able to use the JDBC API
-           be able to create and use connection pooling within the application server
-           be able to refer to a connection pool as a JDBC resource using Java Naming and Directory Interface  (JNDI)
-           be able to send SQL commands to the database and retrieve result sets
-           be able to integrate SQL result sets into dynamic web content
 

Academic Integrity
Seneca upholds a learning community that values academic integrity, honesty, fairness, trust, respect, responsibility and courage. These values enhance Seneca's commitment to deliver high-quality education and teaching excellence, while supporting a positive learning environment. Ensure that you are aware of Seneca's Academic Integrity Policy which can be found at: http://www.senecapolytechnic.ca/about/policies/academic-integrity-policy.html Review section 2 of the policy for details regarding approaches to supporting integrity. Section 2.3 and Appendix B of the policy describe various sanctions that can be applied, if there is suspected academic misconduct (e.g., contract cheating, cheating, falsification, impersonation or plagiarism).

Please visit the Academic Integrity website http://open2.senecac.on.ca/sites/academic-integrity/for-students to understand and learn more about how to prepare and submit work so that it supports academic integrity, and to avoid academic misconduct.

Discrimination/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@senecapolytechnic.ca.

Accommodation 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 Accessibility Services Office at ext. 22900 to initiate the process for documenting, assessing and implementing your individual accommodation needs.

Camera Use and Recordings - Synchronous (Live) Classes
Synchronous (live) classes may be delivered in person, in a Flexible Learning space, or online through a Seneca web conferencing platform such as MS Teams or Zoom. Flexible Learning spaces are equipped with cameras, microphones, monitors and speakers that capture and stream instructor and student interactions, providing an in-person experience for students choosing to study online.

Students joining a live class online may be required to have a working camera in order to participate, or for certain activities (e.g. group work, assessments), and high-speed broadband access (e.g. Cable, DSL) is highly recommended. In the event students encounter circumstances that impact their ability to join the platform with their camera on, they should reach out to the professor to discuss. Live classes may be recorded and made available to students to support access to course content and promote student learning and success.

By attending live classes, students are consenting to the collection and use of their personal information for the purposes of administering the class and associated coursework. To learn more about Seneca's privacy practices, visit Privacy Notice.