Colorado State University

This file defines the header for each page. An optional "icon" image (I use the textbook):

Replace this with info about this class:

CS253: Problem Solving with C++

Spring 2013

Schedule

Links to the various pages for this class:

Wish I could do this: * Schedule

Date Lecture Recitation Reading Homework
Mon Jan 21 MLK Day
  • Help with HW0
  • Logging in
  • Editing files
  • Using g++

Attend as needed this week only

All reading is from Weiss
Ch. 0: Introduction
Ch. 1: Basic Types & Control Structures

Do the reading before class for the week.

HW0 due Saturday 3:00PM
Wed Jan 23
Fri Jan 25
Mon Jan 28
  • Discuss HW1
  • stack vs. heap vs. static memory
  • const
  • if/while/for
  • using namespace std;
  • <stdio.h> vs. <cstdio>
  • intro to iostreams
  • Casting, old & new style

Using bash

Ch. 2: Functions, Arrays, Strings, Param. Passing HW1 due Wednesday 3:00PM
Wed Jan 30
Fri Feb 1
Mon Feb 4

Debugging Lab

Ch. 3: Pointers, References, new & delete
Section 11.5: Cmd-Line Arguments

 
Wed Feb 6
Fri Feb 8
Mon Feb 11
  • struct vs. class
  • data members
  • function members (methods)
  • public/protected/private, friends
Make Lab Ch. 4: Classes HW2 due Wednesday 3:00PM
Wed Feb 13
Fri Feb 15
Mon Feb 18 Linked List Lab Ch. 5: Operator Overloading  
Wed Feb 20
  • Review for midterm
Fri Feb 22
  • First midterm
Mon Feb 25
  • Review the midterm
  • Inheritance (is-a) vs. composition (has-a)
  • Calling methods in base class (example)
  • Base class in initialization list
  • copy ctor in derived class calls copy ctor in base class
  • operator= in derived class calls operator= in base class
  • typedef for base class alias instead of super
  • Slicing
Valgrind Lab Ch. 6: Inheritance  
Wed Feb 27
Fri Mar 1
Mon Mar 4
  • Copy ctor vs. operator= (example) using Loud.h
  • Member vs. non-member functions in Complex
  • private (lousy default)/public/protected inheritance
  • Multiple inheritance
  • Friendship is not inherited
  • There is no Object class.
  • Reflection: typeid() & type_info (example)

gtkmm lab

   
Wed Mar 6
Fri Mar 8

Programming paradigms:

Mon Mar 11 Coverage Lab Ch. 8: Abnormal Control Flow HW3 due Wednesday 3:00PM
Wed Mar 13
Fri Mar 15

Namespaces:

  • Access a whole namespace: using namespace std;
  • Access a class: using std::ofstream;
  • Access a symbol: using std::cout;
  • The std namespace: std::string
  • The global namespace: ::bar
  • <math.h> vs. <cmath>
  • Namespaces are open, classes are closed
  • std is closed, anyway
  • Nested namespaces
  • The anonymous namespace
  • Libraries & namespaces
  • Namespace aliases: namespace HP = Hewlett_Packard;
  • Symbol resolution & namespace ambiguity
Mon Mar 18 Spring Break!
Wed Mar 20
Fri Mar 22
Mon Mar 25

ios:

New Lab Ch. 9: Input & Output HW4 due Wednesday 3:00PM
Wed Mar 27

ostream:

istream:

Fri Mar 29

fstream:

stringstream:

Serialization, lack of

Mon Apr 1

RAII:

  • It’s a Design Pattern
  • Acquisition - Use - Release
  • Use RAII when you think “Don’t forget to ...”
  • Simplicity of description/state
  • Immune to early return/throw
  • Examples:
    • autoptr to dynamic memory
    • file handle / socket / database / other OS resources
    • mutex (lock)
    • list membership

Mixins:

  • is-a, but not really
  • Make the ctor/dtor protected
  • override new/delete
  • noncopyable / noninstantiatable
  • loudness for debugging
  • timestamp
  • ID number
  • serialization
  • Alternative ways to achieve the same goal
I/O Lab    
Wed Apr 3
  • Review for midterm
Fri Apr 5
  • Second midterm
Mon Apr 8 Subversion Lab Ch. 7: Templates  
Wed Apr 10
Fri Apr 12
Mon Apr 15
  • Non-standard containers:
    • slist
    • rope
    • hash_set / hash_multiset / hash_map / hash_multimap
    • unordered_set / unordered_multiset / unordered_map / unordered_multimap
  • Common container methods:
    • ctor(iter, iter)
    • ctor(n)
    • empty()
    • size()
    • clear()
    • begin() / end() / rbegin() / rend()
Template Specialization Lab HW5 due Wednesday 3:00PM
Wed Apr 17
Fri Apr 19
Mon Apr 22 Hash Lab    
Wed Apr 24
  • Quiz 3
  • Discuss HW6
Fri Apr 26
Mon Apr 29

Alpha Op Lab
Help with HW6

   
Wed May 1
Fri May 3
Mon May 6

UML Lab
Review for final exam

  HW6 due Monday 3:00PM
Wed May 8
Fri May 10
  • Review for final exam
  • ASCSU Surveys
Thu May 16
  • Final exam 4:10–6:10PM, same room as lecture
Page: Main.Schedule
Modified: February 24, 2013, at 09:12 PM
Wiki: pmwiki-2.2.35
CS Department
Apply to CSU | Contact CSU | Disclaimer | Equal Opportunity
Colorado State University, Fort Collins, CO 80523 USA
© 2012 Colorado State University