Course Title: Network Programming

Part A: Course Overview

Course Title: Network Programming

Credit Points: 12.00


Course Code

Campus

Career

School

Learning Mode

Teaching Period(s)

COSC1176

City Campus

Postgraduate

140H Computer Science & Information Technology

Face-to-Face

Sem 2 2006,
Sem 2 2007,
Sem 2 2008,
Sem 2 2009,
Sem 2 2010,
Sem 2 2011,
Sem 1 2012,
Sem 1 2013,
Sem 1 2015,
Sem 1 2016

COSC1176

City Campus

Postgraduate

171H School of Science

Face-to-Face

Sem 1 2017

COSC1179

City Campus

Undergraduate

140H Computer Science & Information Technology

Face-to-Face

Sem 2 2006,
Sem 2 2007,
Sem 2 2008,
Sem 2 2009,
Sem 2 2010,
Sem 2 2011,
Sem 1 2012,
Sem 1 2013,
Sem 1 2015,
Sem 1 2016

COSC1179

City Campus

Undergraduate

171H School of Science

Face-to-Face

Sem 1 2017

Course Coordinator: Assoc. Prof. Peter Bertok

Course Coordinator Phone: +61 3 9925 1851

Course Coordinator Email: peter.bertok@rmit.edu.au


Pre-requisite Courses and Assumed Knowledge and Capabilities

Enforced Pre-requisites

Java programming

Programming Techniques (COSC1283 or COSC12854) OR

Programming 1 (COSC1073 or COSC2362) OR

Advanced Programming (COSC1295)

Assumed Knowledge

C programming, as taught in

Advanced Programming Techniques (COSC1076 or COSC2207)

Computer Networking, as taught in

Data Communications and Net-Centric Computing (COSC1111 or COSC2061)


Course Description

The course is an introduction to programming applications that use computer networks. The focus is on problem solving with emphasis on network programming. The operation and characteristics of major computer networks are studied because of their strong influence on programming interfaces (APIs) and application design.


Objectives/Learning Outcomes/Capability Development

Program Learning Outcomes

This course contributes to the following program learning outcomes:

  • Critical Analysis:

You will learn to accurately and objectively examine and consider computer science and information technology (IT) topics, evidence, or situations, in particular to:

-- analyse and model requirements and constraints for the purpose of designing and implementing software artefacts and IT systems

-- evaluate and compare designs of software artefacts and IT systems on the basis of organisational and user requirements.

  • Problem Solving:

Your capability to analyse problems and synthesise suitable solutions will be extended as you learn to: design and implement software solutions that accommodate specified requirements and constraints, based on analysis or modelling or requirements specification.

  • Communication:

You will learn to communicate effectively with a variety of audiences through a range of modes and media, in particular to present a clear, coherent and independent exposition of software applications, alternative IT solutions, and decision recommendations to both IT and non-IT personnel via technical reports of professional standard and technical presentations.


Course Learning Outcomes 

Upon successful completion of this course you should be able to

  1. analyse the requirements of a networked programming environment and identify the issues to be solved;
  2. create conceptual solutions to those issues and implement a programming solution;
  3. understand the key protocols that support the Internet;
  4. apply several common programming interfaces to network communication;
  5. understand the use of TCP/UDP Sockets 
  6. apply advanced programming techniques such as Broadcasting, Multicasting


Overview of Learning Activities

This course consists of lectures, workshops, and laboratory classes. The lectures will be devoted to the presentation of new material. The workshops reinforce the concepts via exercises, and show the material from a different perspective. The laboratory sessions will be used for practical exercises illustrating the material and providing hands-on experience.


Overview of Learning Resources

You will make extensive use of computer laboratories and relevant software provided by the School. You will be able to access course information and learning materials through myRMIT and may be provided with copies of additional materials in class or via email. Lists of relevant reference texts, resources in the library and freely accessible Internet sites will be provided.

 

Total Study Hours

Teacher Guided Hours: 48 per semester

Learner Directed Hours: 96 per semester


Overview of Assessment

This course has no hurdle requirements.

 

Assessment tasks

 

Assessment Task 1:  Assessed prac. work classes

Weighting 25%

This assessment task supports CLOs 1,3,4,5,6

Assessment Task 2: Assignment

Weighting 25%

This assessment task supports CLO 1,2,3,5,6

Assessment 3: Final examination

Weighting 50% 

This assessment supports CLOs 1-6

Please note that postgraduate students are expected to demonstrate knowledge and skills at postgraduate level.