ICS 212: Program Structure


Instructor:William McDaniel Albritton
Office Hours: Tuesdays and Thursdays 9:15am-10:15am
Walk-ins and appointments welcome!
Office Location: DA 211
Contact:(808) 455-0319 (walbritt AT hawaii.edu)
Website URL:http://www2.hawaii.edu/~walbritt/ics212/

SLO #1SLO #2SLO #3SLO #4

SLO #1: Develop properly structured multifile programs with automatic compilation
Class Dates Podcasts Topics Readings Slides Assignments Due Dates Examples & Resources
Aug 22 Session01

Can view lectures in Laulima in Podcasts
Introduction to the Class Syllabus lecture01-intro-to-class Optional Assignment #1 (Who am I?) Aug 24 at 1:30pm Tutor Information
The C Book
C++ Programming
C How to Program (6,7,8th edition)
Learning Resource Center
Hoʻoulu
Training Tips
Recycling Computers
UH gmail
What Skills Do I Need to Get Hired?
William's home page
sorting exercise
Aug 24 Session02 Linux UNIX/Linux Tutorial for Beginners lecture02-linux Assignment #2 Aug 29 at 1:30pm Software Instructions
Linux Commands
vi Tutorials
emacs Commands
makefile Instructions
Online Terminals and IDEs
Aug 29 Session03 Number Systems Understanding Binary, Decimal and Hexadecimal - A Tutorial

Appendix B, C
lecture03-number-systems Assignment #3 Aug 31 at 1:30pm ASCII Chart
Aug 31 Session04 Input and Output in C An Introduction to C

Chapter 1, 2, 9
lecture04-input-output Assignment #4 Sep 5 at 1:30pm aloha.c
makefile-aloha
Software Instructions
Makefile Instructions
Keywords in C
inputchar.c
makefile-char
inputdouble.c
getdouble.c
getdouble.h
makefile-double
Sep 5 Session05 Numbers and Operators in C Variables and Arithmetic

Chapter 1, 2, 9
lecture05-numbers-operators Assignment #5 Sep 7 at 1:30pm define.c
The GNU C Reference Manual
The GNU Project
maximum.c
numbers.c
makefile-numbers
conversion specifiers
output.c
format.c
Sep 7 Session06 Conditional Statements in C Control of Flow and Logical Expressions

Chapter 3
lecture06-conditional-statements Assignment #6 Sep 12 at 1:30pm operators.c
relations.c
if.c
switch.c
Sep 12 Session07 Loops in C Control of Flow and Logical Expressions

Chapter 4
lecture07-loops Assignment #7 Sep 14 at 1:30pm while.c
for.c
do.c
break.c
continue.c
nested.c
counting.c
electricity.txt
Unix job control
Sep 14 Session08 C Functions Functions

Chapter 5
lecture08-functions Assignment #8 Sep 19 at 1:30pm getdouble.h
getdouble.c
inputdouble.c
makefile-double
C Standard Library
C Standard Library2
math.c
makefile-math
trig.c
signed zero
random.c
UNIX time
Sep 19 Session09 C Functions II Functions

Chapter 5
lecture09-functions2 Assignment #9 Sep 21 at 1:30pm macros.c
add.c
value.c
coercion.c
bugs.c
block.c
storage.c
Sep 21   Review 1         review1.htm
Sep 26   Exam 1 covers all topics above     Sep 26 (start between 12:01 AM and 10:44 PM)  
SLO #2: Implement recursion, arrays, pointers, character variables, bitwise operators, structures, and linked data structures in C
Class Dates Podcasts Topics Readings Slides Assignments Due Dates Examples & Resources
Sep 28 Session10 C Recursion Functions

Chapter 5
lecture10-recursion Assignment #10 Oct 3 at 1:30pm recursion.c
fib.c
Oct 3 Session11 C Arrays Arrays and Pointers

Chapter 6
lecture11-arrays Assignment #11 Oct 5 at 1:30pm Array Diagrams
initialize.c
random2.c
pass.c
bubble.c
arrayfunctions.c
arrayfunctions.h
makefile-bubble
search.c
makefile-search
multi.c
Oct 5 Session12 C Pointers Arrays and Pointers

Chapter 7
lecture12-pointers Assignment #12 Oct 10 at 1:30pm pointers.c
Binky Pointer Video
pointers2.c
pointers3.c
Segmentation fault
Oct 10 Session13 C Pointers II Arrays and Pointers

Chapter 7
lecture13-pointers2 Assignment #13 Oct 17 at 1:30pm generic.c
swap.c
array.c
char.c
copy.c
Oct 12   catch up day          
Oct 17 Session14 C Pointers III Arrays and Pointers

Chapter 7
lecture14-pointers3 Assignment #14 Oct 19 at 1:30pm arraypointer.c
command.c
functionpointer.c
menu.c
sorting.c
ASCII Chart
Unicode Chart
Oct 19 Session15 C Characters and Strings Character handling

Chapter 8
lecture15-characters-strings Assignment #15 Oct 24 at 1:30pm ASCII Chart
charfunctions.c
string.c
string2.c
input.c
stringinput.c
stringinput.h
makefile-string
conversion.c
getdouble.c
stringfunctions.c
Morris worm
Common vulnerabilities guide for C programmers

Oct 24 Session16 C Bitwise Operators The bitwise operators

Chapter 10
lecture16-bitwise-operators Assignment #16 Oct 26 at 1:30pm bitand.c
printbits.c
printbits.h
makefile-bitwise
bitior.c
biteor.c
ones.c
shift.c
Oct 26 Session17 C Structures Structured Data Types
Typedef

Chapter 10
lecture17-structures Assignment #17 Oct 31 at 1:30pm structure.c
sizeof.c
structfun.c
structarray.c
typedef.c
cards.c
Oct 31 Session18 C File Processing Chapter 11 lecture18-file-processing Assignment #18 Nov 2 at 1:30pm streams.c
char.txt
struct FILE
write.c
read.c
inputline.c
student.h
creating.c
writing.c
makefile-writing
reading.c
Nov 2 Session19 C Data Structures Chapter 12 lecture19-data-structures Assignment #19 Nov 7 at 1:30pm HeapStack.htm
linkedlist.c
makefile-list
Nov 7   Review 2         review2.htm
Nov 9   Exam 2 covers all topics above     start between 12:01 AM and 10:44 PM  
SLO #3: Use classes (constructors, destructor, and overloading assignment), operator overloading, inheritance, polymorphism, and linked data structures in C++
Class Dates Podcasts Topics Readings Slides Assignments Due Dates Examples & Resources
Nov 21 Session20 C++ Classes Ch 15-18 (6th, 7th)
Ch 15-17 (8th)
lecture20-classes Assignment #20 Nov 28 at 1:30pm Bjarne's homepage
C++ makefile
aloha.cpp
add.cpp
C++ Standard Library header files
fraction.cpp
functions.cpp
Euclid's algorithm
Nov 28 Session21 C++ Classes II Ch 15-18 (6th, 7th)
Ch 15-17 (8th)
lecture21-classes2 Assignment #21 Nov 30 at 1:30pm overload.cpp
reference.cpp
constructors.cpp
destructor.cpp
math.cpp
Nov 30 Session22 C++ Operator Overloading Ch 19 (6th, 7th)
Ch 18 (8th)
lecture22-overloading Assignment #22 Dec 5 at 1:30pm assign.cpp
member.cpp
friend.cpp
stream.cpp
unary.cpp
prepost.cpp
bool.cpp
Dec 5 Session23 C++ Inheritance Ch 20 (6th, 7th)
Ch 19 (8th)
lecture23-inheritance Assignment #23 Dec 7 at 1:30pm inheritance.cpp
(optional) Session24 C++ Polymorphism Ch 21 (6th, 7th)
Ch 20 (8th)
lecture24-polymorphism Assignment #24 Dec 7 at 11:55pm (optional) points.cpp
virtual.cpp
colleges.cpp
binary.cpp
abstract.cpp
(optional) Session25 C++ Linked Data Structures   lecture25-linked-data-structures Assignment #25 Dec 7 at 11:55pm
(optional)
string examples
strings.cpp
node.h
node.cpp
node-driver.cpp
makefile-node
stack.h
stack.cpp
stack-driver.cpp
makefile-stack
SLO #4: Use standard C++ strings and C++ STL library data structures, such as STL lists.
Class Dates Podcasts Topics Readings Slides Assignments Due Dates Examples & Resources
(optional) Session26 C++ Strings, STL and File IO   lecture26-strings-stl-fileio Assignment #26 Dec 7 at 11:55pm
(optional)
getline.cpp
electricity.txt
strings.cpp
vector.cpp
format.cpp
Dec 7   Review 3         review3.htm
eCAFE Course and Faculty Evaluation
Dec 12   Exam 3 covers sessions 2-23   12:15-2:15pm (classtime) start between 12:01 AM and 10:44 PM  
Final Project
Class Dates Podcasts Topics Readings Slides Assignments Due Dates Examples & Resources
    Final Project (optional)     Final Project