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 22 C++ skeleton Topics
#3 - Aug 26 Design process Topics
#4 - Aug 27 Data types, Identifiers & Operators Topics
#5 - Aug 28 Data types, Identifiers & Operators Topics
#6 - Aug 29 Lab (Assignment #1)  
#7 - Sep 3 Number bases Topics
#8 - Sep 4 Twos complement Topics
#9 - Sep 5 Strings & const Topics
#10 - Sep 9 Stream manipulators Topics
#11 - Sep 10 Lab (Assignment #3)  
#12 - Sep 11 Compound operators Topics
#13 - Sep 12 More cin Topics,
Programming assignment
#14 - Sep 16 Boolean expressions Topics
#15 - Sep 17 If statement,
If-else statement
Topics
#16 - Sep 18 Multi-way if,
Nested if
Topics
#17 - Sep 19 Test #1  
#18 - Sep 23 Switch statement Topics
#19 - Sep 24 Lab (Assignment #4)  
#20 - Sep 25 Loops Topics
#21 - Sep 26 Loops  
#22 - Sep 30 Lab (Assignment #5)  
#23 - Oct 1 Nested loops Topics
#24 - Oct 2 More looping  
#25 - Oct 3 File I/O,
Reading files
Topics
#26 - Oct 7 Reading files Topics
#27 - Oct 8 Writing files  
#28 - Oct 9 File I/O examples  
#29 - Oct 10 File I/O examples  
#30 - Oct 14 Predefined functions Topics
#31 - Oct 15 User-defined functions,
void functions
Topics
#32 - Oct 16 Non-void functions Topics,
Assignment #6
#33 - Oct 17 Functions with parameters Topics
#34 - Oct 21 Lab (Assignment #7)  
#35 - Oct 22 Functions with reference parameters Topics
#36 - Oct 23 Functions with reference parameters  
#37 - Oct 24 Overloading Functions Topics
#38 - Oct 28 Enumerated types Topics
#39 - Oct 29 Lab (Assignment #8)  
#40 - Oct 30 Lab (Assignment #9)  
#41 - Oct 31 Test #2  
#42 - Nov 4 Arrays Topics
#43 - Nov 5 Arrays Topics
#44 - Nov 5 Lab (Assignment #10)  
#45 - Nov 6 Arrays and memory Topics
#46 - Nov 11 Sequential search Topics
#47 - Nov 12 Selection sort Topics
#48 - Nov 13 Algorithm Analysis Topics
#49 - Nov 14 No class  
#50 - Nov 18 C-strings Topics
#51 - Nov 19 2D arrays Topics
#52 - Nov 20 2D arrays Topics
#53 - Nov 21 C++ strings vs. C-strings 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 11/21/24