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

CS 155
Computer Science I

CS 440
Computer Networking

CS 455
Software Engineering

◊ 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 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 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 - Aug 21 Course overview Syllabus & Course Materials,
Topics
#2 - Aug 26 Network requirements Topics
#3 - Aug 28 Layering, Network architectures Topics
#4 - Sep 4 Socket API Topics
#5 - Sep 9 Example server & client Topics
#6 - Sep 11 Example server & client,
*nix intro,
vim(1) intro
 
#7 - Sep 16 Debugging,
git
Topics
#8 - Sep 18 Network performance Topics
#9 - Sep 23 Layer 2,
Framing
Topics,
Assignment #2
#10 - Sep 25 MAC sub-layer, Ethernet Topics,
Assignment #1
#11 - Sep 30 Reliable delivery Topics
#12 - Oct 2 Exam #1  
#13 - Oct 7 Signals  
#14 - Oct 9 Wireless protocols Topics
#15 - Oct 14 Layer 3,
Bridges
Topics
#16 - Oct 16 Debugger tricks,
ViM settings,
Routers
Topics,
Assignment #3
#17 - Oct 21 Routers,
Distance Vector
Topics
#18 - Oct 23 Link-state-routing Topics
#19 - Oct 28 IPv4 addressing Topics
#20 - Oct 30 IPv4 address exhaustion Topics,
Assignment #4
#21 - Nov 4 IPv6 Topics
#22 - Nov 6 Exam #2  
#23 - Nov 11 Layer 4, UDP & TCP Topics
#24 - Nov 13 TCP improvements Topics
#25 - Nov 18 Layer 5 Topics
#26 - Nov 20 Encryption Topics,
Assignment #5

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 11/20/24