BuCS 238 Computer Programming II

After Class


Welcome to Computer Information Technology at Hesston College!

This page contains reading assignments, additional assignment or exam information, and frequently asked questions organized with the latest at the top.  Check here often!


Finals Week

Week of 2 May 16

Monday, 8 May 17 is Reading Day - no class.

The Final Exam is on Tue, 9 May 2017, 1:00-2:50pm. - Good luck!


Week 16

Week of 1 May 17

Covered Chapter 10, Sorting and Searching Algorithms. Discussed and analyzed straight selection sort. Discussed and analyzed bubble sort, insertion sort, merge sort, heap sort, and sorting efficiency considerations. Reviewed searching topics including linear searching, high-probability ordering, key ordering, and binary searching.

Also discussed and analyzed hashing function and radix sort.

The Final Exam is due on Tue, 9 May 17 at 2:50pm.

Handout: none
Reading assignment: 569-609
Homework: Assignment 6


Week 15

Week of 24 Apr 17

Discussed sets. Defined set terminology and looked at set union, intersection, and difference. Discussed the explicit and implicit implementation of ADT Set.

Discussed the Final Exam due on Tue, 3 May 16 at 3:00pm.

Also discussed ADT Graph and implemented it as an adjacency matrix to represent the edges. Discussed and implemented depth-first search, breadth-first search, and shortest-path.

Handout: none
Reading assignment: 569-609
Homework: Assignment 6


Week 14

Week of 17 Apr 16

Finished Chapter 8, Binary Search Trees. Discussed tree class constructor and destructor, copying a tree, and traversals (inorder, postorder, preorder).

Also discussed iterative insertion and deletion, comparing binary search trees and linear lists, and looked at a nonlinked representation of a binary tree.

Discussed Chapter 9, Priority Queues, Heaps, Graphs, and Sets. Discussed ADT Priority Queue and implemented it using a heap as an inclass exercise. Compared implementations of ADT Priority Queue using a linked list, binary search tree, and heap.

Handout: none
Reading assignment: 523-567
Homework: Assignment 6
Homework: Chapter 8 Exercises (in class)


Week 13

Week of 10 Apr 17

Finished Chapter 7, Programming with Recursion. Discussed how recursion works in terms of activation records and the run time stack. Traced the execution of several recursive functions, discussed debugging recursive routines, removing recursion, and how to decide whether to use a recursive function. Looked at how recursion can be used to solve a maze.

Started Chapter 8, Binary Search Trees. Discussed tree terminology and abstract, logical, and implementation of binary search trees. Discussing recursive binary tree operations including GetLength, RetrieveItem, InsertItem, Print (inorder traversal).

No class on Good Friday, 14 Apr 17. Happy Easter weekend!

Handout: none
Reading assignment: 450-523
Homework: Assignment 5


Week 12

Week of 3 Apr 17

Discussed and implemented a linked list as an array of records. Also discussed specialized lists.

Started Chapter 7, Programming with Recursion. Introduced recursion by coding simple recursive examples and discussed verifying recursive functions. Discussed writing recursive functions and using recursion to simplify solutions. Implemented recursive linked list processing (revprint, insert, delete) and recursive binary search as inclass exercises.

Handout: none
Reading assignment: 389-449
Homework: Chapter 6 Exercises (14, 15)


Week 11

Week of 27 Mar 17

Started Chapter 6, Lists Plus.

Discussed templates by looking at ADT QueueLL rewritten using templates.

Discussed circular linked lists and doubly linked lists with header and trailer nodes.

Discussed shallow and deep copying and started implemented deep copying as an inclass exercise. Also implemented a copy function as a friend function and overloaded the assignment operator to provide deep copy support.

Handout: none
Reading assignment: 357-389
Homework: Chapter 5 Exercises (4-7, 24-29)


Week 10

Week of 20 Mar 17

Continued Chapter 5, ADTs Stack and Queue. Introduced queues. Discussed ADT Queue and looked at different implementation methods including dynamic array, linked, and circular. Used a queue to determine a palindrome.

Also derived ADT CountedQueue and compared the efficieny of the various queue implementations.

Handout: none
Reading assignment: 301-355
Exercise(s): review the associated chapter exercises
Homework: Assignment 4


Midterm and Spring Break (Mar 13 - 17)

No class. This class resumes on Mon, 20 Mar 17.

Have a nice Spring Break!


Week 9

Week of 6 Mar 2017

Finished Chapter 4, ADT Sorted List. Discussed ADT Sorted List as a linked structure. Also compared sorted list implementations, discussed bounded and unbounded ADTs, and talked more about object-oriented design methodology.

Started Chapter 5, ADTs Stack and Queue. Discussed ADT Stack and used a stack to find out if an expression is well-formed. Implemented Stack as an array-based structure and a linked structure.

Also compared the two implementations of Stack and used a stack to reverse a name.

Discussed Assignment 4.

Handout: none
Reading assignment: 243-300
Exercise(s): review the associated chapter exercises
Homework: Assignment 4


Week 8

Week of 27 Feb 17

Started Chapter 4, ADT Sorted List.

Discussed ADT Sorted List using an array-based implementation with binary search. Also added a dynamically allocated array.

Also discussed ADT Sorted List as a linked structure.

Handout: none
Reading assignment: 213-243
Exercise(s): review the associated chapter exercises
Homework: Chapter 3 Exercises (Midterm)


Week 7

Week of 20 Feb 17

Finished Chapter 3, ADT Unsorted List. Completed pointers.cpp.

Implemented ADT Unsorted List using a linked implementation. Compared the array-based and dynamic implementations of ADT Unsorted List.

Handout: none
Reading assignment: 165-211
Exercise(s): review the associated chapter exercises
Homework: Assignment 3


Week 6

Week of 13 Feb 17

Discussed Programming Assignment 3 - TwoNum.

Used ADT Unsorted List in a practical application as an inclass exercise as we also learned about file input and output.

Continued Chapter 3, ADT Unsorted List. Discussed pointer type variables and operations using pointers.

Handout: none
Reading assignment: 158-165
Exercise(s): review the associated chapter exercises
Homework: Assignment 3


Week 5

Week of 6 Feb 17

Discussed ADT Unsorted List and implementing and tested it using an array-based implementation.

Handout: none
Reading assignment: 138-157
Exercise(s): review the associated chapter exercises
Homework: Assignment 2


Week 4

Week of 30 Jan 17

Demonstrated inheritance, composition, static and dynamic binding, and virtual functions in object-oriented programming.

Discussed exception handling, namespaces and compared algorithms using Big-O (order of magnitude notation).

Started Chapter 3, ADT Unsorted List. Introduced ADT Unsorted List at the logical and application levels.

Handout: none
Reading assignment: 97-138
Exercise(s): review the associated chapter exercises
Homework: Assignment 2


Week 3

Week of 23 Jan 17

Started Chapter 2, Data Design and Implementation. Discussed data abstraction, data structures, abstract data types and operator categories. Reviewed built-in types from the logical, application, and implementation levels: records.

Also reviewed built-in types from the logical, application, and implementation levels: one-dimensional arrays and two-dimensional arrays. Introduced classes in C++.

Handout: none
Reading assignment: 65-97
Review: Chapter 2 exercises
Homework: Assignment 1


Week 2

Week of 16 Jan 17

Finished Chapter 1, Software Engineering Principles. Discussed verification of software correctness, and program testing.

Finished Assignment 0 as an inclass exercise.

Continued discussing the Java to C++ transition using programming examples from the text.

Discussed Programming Assignment 1 - Package.

Handout: none
Reading assignment: 20-64
Review: Case Study and Chapter 1 exercises
Homework: Assignment 1


Week 1

Week of 11 Jan 17 (Wed and Fri)

Introduced the course outline, syllabus, and CIT computer lab.

Started discussing the Java to C++ transition. Practiced writing and compiling a simple C++ program with the Visual Studio 2013 C++ programming IDE as an inclass exercise.

Started Chapter 1, Software Engineering Principles. Discussed the software "life cycle," goals of quality software, specifications and program design methodologies. Worked on Assignment 0 as an inclass exercise.

Handout: Syllabus
Reading assignment: 1-20
Review: Chapter 1 exercises
Homework: Assignment 0 (will be started during class)


This page maintained by bobh@hesston.edu