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

CS 440
Computer Networking

CS 455
Software Engineering

ITE 449
Infrastructure Security

◊ 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 - Jan 10 Course overview Syllabus & Course Materials,
Topics
#2 - Jan 17 No class ❄ ☃ ❄
#3 - Jan 24 UML, Make & Makefiles UML slides,
Makefile tutorial
#4 - Jan 31 Software Patterns,
Make & Makefiles,
LaTeX
Patterns slides
#5 - Feb 7 STL & Boost,
Boost ASIO server & client
STL Boost slides
#6 - Feb 14 Configuration Mgmt,
Git basics
CM slides
#7 - Feb 21 Software Testing,
Git remotes
Testing slides
#8 - Feb 28 Secure coding,
Witty intro
Secure coding slides
#9 - Mar 6 Witty intro,
Gitea intro
 
#10 - Mar 13 HCI/UX,
intro
HCI/UX slides,
Webtoolkit Tip Calculator
#11 - Mar 20 CMMI,
Unit testing with gtest
HCI/UX slides
#12 - Apr 3 Static analysis  
#13 - Apr 10 Team stand-ups CI/CD slides,
DevOps slides
#14 - Apr 17 Team stand-ups Cloud slides

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/18/24