White Bar

Useful Resources


- C/C++ Programmer's Reference by Herbert Schildt
- C++ Review by Brian George
- http://www.google.com/
- http://www.cppreference.com/
- http://www.cplusplus.com/doc/tutorial/
- /home/twitchellk/examples/cs148/

- /home/twitchellk/examples/cs165/

 

Unit 1


Material Covered:
- Visit http://emp.byui.edu/TWITCHELLK/firstDay0.html
- Read the Linux tutorial
- Style/elegance refresher (http://emp.byui.edu/twitchellk/style.html,
http://emp.byui.edu/twitchellk/elegance.html,
http://emp.byui.edu/twitchellk/stylechecklist.html, and the
style checker FAQ )
- C++ Introduction (pages xix-xx, .../cs148/main.cpp)
- Namespaces (pages 239, 28-29, 82-83)
Assignment: Hello World!

 

Unit 2


Material Covered:
Basic types, declaring variables, and identifiers (pages 1-4,
http://www.cplusplus.com/doc/tutorial/tut1-2.html )
ASCII (see Brian's ASCII table in his C++ review)
Constants (pages 16-19)
variables (pages 3-4, 27-28)
operators (pages 39-41, 45 and http://www.cplusplus.com/doc/tutorial/tut1-3.html )
expressions (see Brian's C++ review)
statements (see Brian's C++ review)
arrays (pages 15-16, .../cs165/array.cpp)
simple I/O (pages 49-50, 262-292,
http://www.cplusplus.com/doc/tutorial/tut1-4.html )
standard libraries (pages 34-36)
Assignment: Vending machine


Unit 3


Material Covered:
Böhm and Jacopini structures (pages 73, 77, 79-80, 93-94, 105,
http://www.cplusplus.com/doc/tutorial/tut2-1.html ,
see Brian's C++ review )
single-entry, single-exit (see Brian's C++ review )
structured programming (see Brian's C++ review )
Assignment: Grades


Unit 4


Material Covered:
Functions (pages 21-22, 23-27,
http://www.cplusplus.com/doc/tutorial/tut2-2.html ,
http://www.cplusplus.com/doc/tutorial/tut2-3.html )
pass by value and reference (pages 30-32)
scope (pages 27-28)
function prototypes (pages 25-26)
function overloading (pages 23-24)
Algorithm development (http://emp.byui.edu/TWITCHELLK/algorithm0.html )
design (http://emp.byui.edu/TWITCHELLK/design.html )
see .../cs148/leapYear.cpp
Assignment: Day of the week

 

Unit 5


Material Covered:
OO philosophy (http://en.wikipedia.org/wiki/Object_Oriented_Programming )
coupling (http://emp.byui.edu/TWITCHELLK/coupling.html )
cohesion (http://emp.byui.edu/TWITCHELLK/cohesion.html )
structures (pages 8, 46-47, 92-93, .../cs165/struct.cpp)
class definition (pages 5-7, 70,
http://www.cplusplus.com/doc/tutorial/tut4-1.html ,
.../cs148/mainClass.cpp)
access modifiers (pages 86-88)
Assignment: OO Hello World!


Unit 6


Material Covered:
constructors/destructors (pages 5, 32-33)
copy constructors (http://www.fredosaurus.com/notes-cpp/oop-condestructors/copyconstructors.html ,
.../cs148/copy.cpp)
Assignment: Rational number calculator


Unit 7


Material Covered:
Operator overloading (page 85, .../cs148/complex.cpp,
.../cs148/trouble.cpp)
friends (pages 77-78, .../cs165/friend.cpp)
Assignment: Operator overloading


Unit 8


Material Covered:
Aggregation (http://people.cs.vt.edu/~kafura/cs2704/aggregation.html )
generalization/specialization (inheritance) (pages 7-8,
http://www.cplusplus.com/doc/tutorial/tut4-3.html ,
.../cs148/church.cpp, .../cs148/priesthood.cpp, .../cs165/poly.cpp)
polymorphism (pages 103-104,
http://www.cplusplus.com/doc/tutorial/tut4-4.html )
file I/O (http://cppreference.com,
http://www.cplusplus.com/doc/tutorial/tut6-1.html )
Pointers (pages 31, 32, 44-45, 50-51, .../cs165/pointer.cpp,
.../cs165/new.cpp, http://www.cplusplus.com/doc/tutorial/tut3-3.html )
Assignment: Reduce the rational number

 

Unit 9


Material Covered:
dynamic memory allocation (pages 52, 73, 83-84,
http://www.cplusplus.com/doc/tutorial/tut3-4.html )
C-strings (http://www.cplusplus.com/doc/tutorial/ ,
.../cs148/cString.cpp)
string objects (http://www.cppreference.com/cppstring.html ,
.../cs165/parse.cpp, .../cs165/getline.cpp)
Assignment: Split an expression

 

Unit 10


Material Covered:
Linked lists (http://en.wikipedia.org/wiki/Linked_list ,
.../cs148/link.cpp)
Recursion (pages 22-23, .../cs148/hanoi.cpp)
Debugging (http://emp.byui.edu/TWITCHELLK/debugging0.html )
Assignment: Linked list