Network Programming and Design

Home Admissions Course Information Network Programming and Design

COMP 2120SED

Course Guide
Network Programming and Design

COMP 2120SED

Course Guide

Network Programming and Design

Course Start Date
N/A
Course Level
N/A
Length in Terms
N/A
Credits
N/A
Language
N/A
Fees ($) (including lab fees)
N/A
Future Terms
Quota and Schedule
Course Start Date
Course LevelLength in TermsCredits
Language
Fees ($) (including lab fees)
Future Terms
N/A
N/AN/AN/A
N/A
N/A

Course Coordinator:

Jimmy Kang Xudong, MPhil

Course Developer:

Albert Luo Kim-leung, Consultant

COMP 2120SED aims to introduce you to the fundamental principles and techniques of network programming and design. It also covers a range of relevant contemporary topics including wireless technologies and network security. The course will equip you with practical knowledge that lays the groundwork for the study of higher-level IT courses at HKMU, particularly those related to networking, which can be applied to your work as well. You will not only study concepts, principles and techniques, but also have the opportunity to put them into practice through lab sessions.

Aims

This course aims to:

  • introduce you to the fundamental concepts of computer networking;
  • develop your ability to apply design and operating principles of computer networks and the Internet;
  • equip you with practical skills related to network design and network programming;
  • introduce you to the latest technologies and developments of networking; and
  • demonstrate the application of networking concepts through case studies and real-life scenarios.

Contents

The course covers the following topics:

  • Unit 1 introduces the fundamentals of computer networks and the Internet, providing an overview of the basic concepts and operating principles of computer networks and giving you a general understanding of how computer networks are developed for the purpose of transferring data and facilitating communication between endpoint devices.

  • Unit 2 covers the basics of network infrastructure, including concepts such as data transmission through different types of media and network equipment with different functions and roles in computer networks. You will also learn about network topology, switching, Ethernet and different server operating systems used for managing computer networks.
  • Unit 3 discusses the core protocols and more detailed mechanisms and operations in computer networks, like IP addressing and routing, according to the layers specified in the OSI models. The essentials in the TCP/IP are elaborated on to equip you with a basic knowledge of connection establishment and socket communication.
  • Unit 4 provides a step-by-step guide to implementing TCP and UDP sockets using C++ programming. The unit begins by introducing the basics of C++ language, including syntax, logic and object-oriented programming concepts. Based on this knowledge, you will be guided to write client and server programs that implement socket communication over TCP and UDP protocols.
  • Unit 5 focuses on application-level network programming, specifically Internet application development. You will be introduced to the concepts and technologies of Web and Internet applications and will learn how to develop Internet applications using both client-side programming languages (such as HTML, CSS and JavaScript) and server-side programming languages (such as PHP).
  • Unit 6 introduces more advanced topics in Wide Area Networks (WAN) and wireless technologies, including Virtual Private Networks (VPNs), wireless LANs (IEEE 802.11 family), Bluetooth and wireless network security measures such as SSID, WEP (Wired Equivalent Privacy) and Wi-Fi Protected Access (WPA and WPA2).
  • Unit 7 deals with network security. It introduces different kinds of security issues and potential risks in computer networks, and provides relevant measures that can be taken to reduce or prevent them during network design, including cryptography, authentication and network security control methods. You will also be introduced to different security protocols and how to securely connect to a remote device or set up passwords to protect your websites.
  • Unit 8 consolidates the concepts and knowledge learnt in previous units and provides an overall idea of network design for real-world scenarios. You will learn how to analyse user requirements, design a network for specific cases and propose solutions that satisfy both business and technical goals.

Learning support

This course includes 24 hours of tutorial and surgery sessions. Student self-learning is supported by these tutorial and surgery sessions as well as the online discussion board, which promote students' critical understanding of the course material.

Assessment

The course assessment consists of three assignments (50%) and a final examination (50%). Students are required to submit assignments via the Online Learning Environment (OLE) and attend a two-hour closed-book written examination centrally arranged by the university.

Online requirement

This course is supported by the Online Learning Environment (OLE). You can find the latest course information on the OLE. Through the OLE, you can communicate electronically with your tutor and the Course Coordinator as well as other students. To access the OLE, students will need to have access to the Internet. The use of the OLE is required for the study of this course.

Equipment

To access the OLE platform, complete assignments and work on the practical lab sessions and programming exercises in this course, you will need a personal computer (PC) or similar devices that satisfy the following minimum hardware and software requirements:

Hardware

  • Intel or AMD CPU (4 GHz or above)
  • 8 GB System RAM or above
  • 100 GB or more free hard disk space
  • A colour monitor
  • A keyboard and mouse
  • A network connection and Internet access

Software

  • Operating Systems (OS) installed (Microsoft Windows 7 or above is suggested)
  • Browser (the latest version of Chrome, IE or Edge is suggested)
  • Text and source code editor (NotePad++ is suggested, which can be downloaded from the Internet)
  • Document file processor (the latest version of Microsoft Office Word is suggested)
  • PDF reader (the latest version of Adobe Acrobat is suggested)

Reference textbook(s)

  1. West, J., Andrews, J. and Dean, T. (2018) Network+ Guide to Networks, 8th ed., Cengage.
  2. Stroustrup, B. (2014) Programming: Principles and Practice Using C++, 2nd ed., Addison-Wesley.
  3. DuRocher, D. (2021) HTML and CSS QuickStart Guide, ClydeBank Media.