CSci/SE 242 Home Page


This course is now complete.
CSci/SE 242 is the third is a sequence of C++, emphasizing Data Structures and the C++ Standard Template Library.

This course is now complete!

Assignments


The first assignment considers a feature your instructor has not covered from a recent C++ standard. This will be due on Friday, January 22.
The vector assignment.Due Wednesday, February 3.
A hashing assignment in a zip file. The zip file contains test data.
An exercise in the use of the STL Stack starts with this zip file.
The hashing assignment.Due Friday, February 12. Here is the common word file. Here is the one of my papers reduced to scan for words.
The stack assignment.Due Friday, February 5.
The STL List assignment. Due Wednesday, March 3. A text file containing all the primes less than 2000.
The Map and Set assignment is to create a cross-reference or index of words. This is due Monday, March 22.
You will take the Graph demonstration program and modify it to make a breadth-first search. This will be due on Friday, April 16. In a rare move, there is 20% extra credit available if you implement best-first instead of breadth-first. However, it must be turned in on time to qualify.
This is a worksheet on heaps. This will be due on Monday, April 26.

Tests:

Examples and presentations:


Yet to do
Complete
STL unordered maps and sets.
Revisit the map demo with unordered maps.
Algorithm Analysis Again.
Reference Variables.
Dynamic programming. Updated 5/1.
The knapsack problem solved three ways - only the O(2N) is optimal.
Three STL Containers not yet covered.
Revisit the map demo with unordered maps.
Revisit the set demo with unordered sets.
Tables to simplify coding.
Self organizing lists.
Skip lists.
Below this are the presentations on the third test.
Demonstration showing lfind, bsearch and qsort.
One last visit to searching and sorting.
Sorting.
Internal sorts.
The heap structure.
External sorts.
Graph Algorithms.
The Graph demonstration with depth first search.
The Graph demonstration ready for algorithms. That is the hope anyway.
The Graph demonstration at the end of class. Some offline fixes were made, changing Arc to Edge, among others.
The Graph demonstration starting point.
Graphs Again.
Below this are the presentations on the second test.
Trie.
The Trie demonstration.
B Trees.
Other trees.
Parse trees.
The Tree Demo. Final version?
Balance in trees.
The Tree Demo. Remove is not quite right.
The Tree Demo. Remove and Find are still to be done.
The Tree Demo. The header is right but no code for the tree yet.
Binary trees.
The finished STL Map demonstration. introduction to graphs which is part of the tree intro.
STL Maps, a tree structure.
The STL Set Demo.
STL Sets.
The finished STL Linked List demo.
A demo of traversing a linked list.
STL Lists.
Linked Lists.
Below this are the presentations on the first test.
STL Iterators.
The DeQue presentation.
STL Priority Queue.
Queues.
Stacks.
STL Stacks.
Hashing.
The statistics demo with an STL vector.
STL Vector container class.
Advanced casts.
Introduction to Standard Template Library.
Abstract Data Types and Lookups.
Namespaces.

Important documents overviewing the course:


The syllabus for CS 242 or the ADA friendly syllabus for CS 242.
The pros and cons of templates.
Ten Papers every Programmer should read.

Other links


A zip file containing the root of a generalized application. Extract this into a directory for a new project. Updated 2/3/2020.
The Survey results on how developers view themselves..
The Most complex solution to traveling salesman problem..
The Narrow minded engineers?.
The How to write unmaintainable code. What not to do!
The Some differences in the C++14 standard.
The Big-O Cheat Sheet.
The Connecting N and big O notation's usable algorithms.
The Gentle Introduction to Algorithm Analysis
The Difference between a Computer Scientist and a Programmer (or Developer)
Two STL references:at SGI and at a C++ reference site.

The VCSU-MEP is an interactive museum of information and exercises concerning programming languages. In this class the MOO will function as the textbook. There is a C++ wing to the museum. A MOO can be accessed with Telnet, a MOO client but using a browser is the recommended method. The Web Java client can be used at: Programming Land MOO using the Java client. Entering the MOO requires a login. You should read the Introduction to ProgrammingLand which is a Microsoft Word format document.
Bjarne Stroustrup's FAQ on C++ Standards.

Other announcements


Hiring shortage for developers.

Return links

Return to Curt Hill's home page.

Last time I updated this page: May 14, 2021.