Department of Computer Science & Information Systems
University of North Alabama
◊ Current courses

CS 325
Programming for the Web

CS 440
Computer Networking

CS 456
Computer Science Capstone

◊ Past courses

CS 110
Intro to Computers

CS 120
Intermediate Computer Topics

CS 135
Computer Skills for
Problem Solving

CS 155
Computer Science I

CS 249
Information Security (CIS 249)

CS 255
Computer Science II

CS 311
Computer Architecture

CS 325
Programming for the Web

CS 335
New Developments
in Programming

CS 355
Data Structures & Algorithms

CS 359
Embedded Systems Programming

CS 421
Automata Theory &
Compiler Construction

CS 430
Design & Analysis
of Algorithms

CS 440
Computer Networking

CS 447
Theory and Applications of Database Systems

CS 455
Software Engineering

CS 456
Computer Science Capstone

CS 470
Artificial Intelligence

CS 490
Cryptography (MA 491)

CS 490
Undergraduate Research
in Computer Science

CS 490
Senior Seminar/Honors Capstone

CIS 376
Web Development

ITE 376
Secure Software Development

ITE 449
Infrastructure Security

>Links

Announcements
Class Schedule

Session Activity Reference
#1 - Jan 7 Course overview Syllabus & Course Materials,
Topics
#2 - Jan 9 Packet switched vs. Circuit switched Topics
#3 - Jan 12 Network requirements Topics
#4 - Jan 14 Network performance Topics
#5 - Jan 16 Latency, RTT,
Delay×Bandwidth, Throughput
Topics
#6 - Jan 21 Network architectures Topics
#7 - Jan 23 Socket API Topics,
Assignment #1
#8 - Jan 26 Campus closed due to weather  
#9 - Jan 28 Simplex server Topics
#10 - Jan 30 Test #1  
#11 - Feb 2 Simplex server Topics
#12 - Feb 2 make(1), Makefile,
testing with nc(1)
Topics
#13 - Feb 4 Simplex client Topics
#14 - Feb 9 git(1) basics Topics
#15 - Feb 11 git(1) basics
Vim setup
Topics
#16 - Feb 13 scanf(3) & printf(3) example Topics
#17 - Feb 16 Assignment #2 Q&A,
Direct links
Topics
#18 - Feb 18 Modulation & Encoding Topics
#19 - Feb 23 Layer 2,
Error detection,
Error correction
Topics
#20 - Feb 25 Layer 2,
Flow control
Topics
#21 - Feb 27 Flow control,
Ethernet
Topics,
Assignment #2,
Assignment #3
#22 - Mar 2 Ethernet,
Exponential backoff algorithm
Topics
#23 - Mar 4 Wireless Topics
#24 - Mar 6 Layer 3,
Switching (forwarding),
Bridges
Topics
#25 - Mar 9 Test #2  
#26 - Mar 11 Learning bridges,
Routers
Topics
#27 - Mar 13 Router architecture Topics
#28 - Mar 16 Distance vector algorithm Topics
#29 - Mar 18 Link state algorithm Topics
#30 - Mar 20 signal(3) Topics
#31 - Mar 30 IPv4 addressing Topics
#32 - Apr 1 IPv4 addressing Topics
#33 - Apr 6 IP support protocols,
NAT
Topics,
Assignment #4
#34 - Apr 8 IPv6 Topics
#35 - Apr 13 Test #3  
#36 - Apr 15 L4, UDP Topics
#37 - Apr 17 TCP Topics,
Assignment #5,
sysvals.zip
#38 - Apr 20 Congestion control Topics
#39 - Apr 22 select(2) Topics
#40 - Apr 27 TCP v4 improvements Topics

A note about taking notes

I'm often asked about posting my lecture notes on the class web site.

  1. Taking notes during class is, in my opinion, a vital part of the learning process. Hearing what is said, thinking about the material, and writing (in your own words) what we are discussing each session serves to reinforce the learning process. In fact, I think it is useful to take notes from your textbooks as well. The process really speeds up learning and increases retention.
  2. My notes are an extreme shorthand designed to guide me during class. They do not contain everything I say in class or write on the board/computer. My notes are, at best, a skeleton listing of the topics we've covered. Your notes should be more detailed than mine, after all, I already know the material.
  3. Finally, it would be much easier for me not to write anything on the board or computer. The reason I do these things is to allow you to reflect on what is being discussed, write appropriate notes, and ask questions. Writing key phrases and facts on the board/computer is designed to slow me down and allow you time to write your notes. Everything we discuss in class is possible exam material whether I write it down or not (i.e. you should be writing it down).

So, I don't believe posting my lecture notes is in your best interest. I feel it is important for you to take your own notes during class.

However, I will do the following:

  • post a list of the topics we've covered each session,
  • post selected links to reference materials I use,
  • post the chapter and page numbers for each session.

These will be posted on the class web site for each session.

Course materials
Last updated 04/27/26