Computer Science (COMP) 348
Network Programming in Java (Revision 6)

View previous revision
Delivery Mode: Individualized study online
Credits: 3
Area of Study: Science
Prerequisite: Either COMP 268, COMP 272 and COMP 347;
or
COMP 308 and COMP 347.
Faculty: Faculty of Science and Technology
Centre: School of Computing and Information Systems
COMP 348 is not available for challenge
**Note: Students who are concerned about not meeting the prerequisites for this course are encouraged to contact the course coordinator before registering
Overview
COMP 348 is designed to extend students’ knowledge and practice in analysis and design of computer networks by focusing on computer network programming. In addition, some advanced network topics including network security and multimedia computer networks are introduced in this course. The Java programming language will be used throughout the course. To be able to complete this course, a student should have both sufficient knowledge about computer networks, especially the Internet, and some good programming skills in Java.
Learning Outcomes
Upon successful completion of this course, you will be able to
- discuss network programming with Java in general, including some of the history and features that Java brings to network programming.
- type, compile, and execute example Java programs from the textbook that demonstrate key concepts of network programming.
- modify example programs to further demonstrate key concepts of network programming.
- create original programs in Java that demonstrate key concepts of network programming.
- create Java network programs that fulfill specific deliverables and provide significant network capability, as required, to fulfill assignment objectives and deliverables.
- articulate design decisions and create a diary describing learning experiences. (This is an essential component of the course project.)
Outline
COMP 348 consists of the following units:
- Unit 0: Orientation
- Unit 1: Basic Network Concepts
- Unit 2: Java Streams
- Unit 3: Java Threads
- Unit 4: Internet Addresses
- Unit 5: URLs and URIs
- Unit 6: Hypertext Transfer Protocol (HTTP)
- Unit 7: URLConnection
- Unit 8: Sockets for Clients
- Unit 9: Sockets for Servers
- Unit 10: Secure Sockets
- Unit 11: Nonblocking I/O
- Unit 12: User Datagram Protocol (UDP)
- Unit 13: IP Multicast
- Unit 14: Remote Method Invocation (RMI)
The units are closely based on material from Java Network Programming by Elliotte Rusty Harold, with additional material supplied via web reference links. Unit 1 is a review of material students have studied in the prerequisite computer networking course (COMP 347). Unit 2 and Unit 3 comprise a review of material students should have studied in the prerequisite Java programming courses (COMP 268, COMP 272).
Evaluation
To receive credit for COMP 348, you must achieve a course composite grade of at least D (50 percent), including a grade of 50 percent on each assignment, and at least 50 percent on the final examination. The weighting of the composite grade is as follows:
Activity | Weighting |
---|---|
Assignment 1 | 15% |
Assignment 2 | 15% |
Assignment 3 | 15% |
Assignment 4 (Project) | 25% |
Participation and Reflection | 15% |
Final Exam | 15% |
Total | 100% |
To learn more about assignments and examinations, please refer to Athabasca University's online Calendar.
Course Materials
Textbook
Harold, E. R. (2013) Java Network Programming, 4th ed. O'Reilly.
Other materials
The remainder of the learning materials for COMP 348 is available from the course site or other websites.
Special Course Features
For computer science courses at Athabasca University, students will need access to computer equipment with certain requirements. Students are also required to have access to the Internet.
COMP 348 is an elective in all Computing and Information Systems programs.
Athabasca University reserves the right to amend course outlines occasionally and without notice. Courses offered by other delivery methods may vary from their individualized-study counterparts.
Opened in Revision 6, August 6, 2014.
View previous revision