CSCI B438 - Foundations of Computer Networking Teaching/Learning Goals
The Who and What of B438
Who - Anyone with an interest in understanding data communications
and digital computer networking at more than a user or administrator level.
Background should include two semesters of programming that covers C, C++,
Java style languages and basic data structures such as queues and lists,
an operating systems course that covers multiprogramming concepts such
as semaphores. Additional background in computer architecture is useful.
This course satisfies the Computer Science requirement for a C3xx or C4xx
course.
What - The lecture topics cover the theoretical basis of computer
networking organized into the corresponding general layer structure roughly
used to implement many existing networks. Main topics include the physical
layer or the wire that connects networked systems, different standards
used to communicate bits over the wire such as token ring and Ether net,
implementation of primitive and study of existing protocols for communicating
messages between two systems such as TCP (Transport Control Protocol) or
UDP (User Datagram Protocol), methods for routing messages such as those
used by IP (Internet Protocol), application protocols such as HTTP (The
Web) and SMTP (email).
Exercises often complement lecture topics but are also used to expose
one to certain useful skills applicable should it be necessary to actually
make a network work. These exercises include the design and implementation
of a typical small network, basic network administration from the computer
insides to making it work for other users. A final project offers the opportunity
to delve deeper into an interesting topic, past projects have implemented
FTP and Web servers, multi-user chats, and simple file and printer sharing
clients and servers. More specific information can be obtained by reading
the following discussion of course goals or by examining exercises listed
as homeworks on the course syllabus.
CSCI B438 Learning Goals
The learning goals of each computer science course strive to capture
intended learning outcomes. The goals are expressed using the terms that
follow. These terms describe the level of familiarity (most to least) with
respect to various kinds of material and procedures.
-
Mastery means the student will be able to exhibit knowledge of the
material and/or skill with the procedure, in a new but appropriate context,
even when not instructed to do so.
-
Familiarity means the student will be able to answer questions about
the material and/or to use the procedure, in a new but appropriate context,
when instructed to do do.
-
Exposure means the student will have heard the term and/or seen
the procedure, but may not be able to discuss or use it effectively without
further instruction.
The B438 learning goals cover important areas recommended jointly in a
report by the Association of Computing Machinery (ACM) and the Computer
Society of the IEEE in 2001 for university computing curricula. These international
organizations were established to promote academic and professional excellence
in the computer sciences. The complete baccalaureate curricula list consists
of fourteen subject areas, of which a portion are covered in this course,
primarily those areas which better prepare the student to succeed in subsequent
Indiana University Southeast computer science courses and as professional
computer scientists. Certain of these subjects listed below have been presented
in previous courses or will recur in subsequent courses.
-
Mastery
-
NC1 - Introduction to net-centric computing. (3)
-
Familiarity
-
NC2 - Communication and networking. (15)
-
NC3 - Network security. (1.5)
-
NC4 - The web as an example of client-server computing. (4.5)
-
NC5 - Building web applications. (1.5)
-
NC6 - Network management. (2)
-
OS3 - Concurrency. (3)
-
AL4 - Distributed Algorithms. (1.5)
-
Exposure
-
NC9 - Wireless and moble computing. (0.5)
-
DS5 - Graphs and trees. (1.5)
Design of B438 to Achieve These Goals
Computer science demands competency in a range of skills. Therefore,
students benefit from the guided practice in the environment of a university
class. To facilitate this, B438 includes the following:
-
Students complete weekly assignments aimed at developing and practicing
foundational skills.
-
Class time is divided between instructor lecture and student discussion.
Individual student questions serve to guide the class discussion.
-
Assignments are available as Web-pages and are discussed in class when
assigned using the pages available to the student.
-
Most questions arise when students are working on exercises outside of
class. Students are encouraged to contact the instructor directly or by
emailing their questions and code of the troublesome exercise for guidance.
-
A large project or research paper is required of all students.
Document last modified: