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

Monday, 26 Apr 21 is Reading Day - no class.

The Final Exam is on Tue, 27 Apr 2021, 1:00-2:50pm.


Final Exam

Tuesday, 27 Apr 2021

The Final Exam is due on Tue, 27 Apr 2021 at 1:00pm.

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.

Discussed and analyzed hashing function and radix sort.

Handout: none
Reading assignment: 627-698
Review: review the associated chapter exercises


Week 15

Week of 19 Apr 21

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.

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-625 (except Sets)
Review: review the associated chapter exercises
Homework: Assignment 8 - ADT Set


Week 14

Week of 12 Apr 21

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, 27 Apr 2021 at 1:00pm.

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.

Handout: none
Reading assignment: 531-567 + ADT Set
Review: review the associated chapter exercises
Homework: Chapter 8 Exercises (8, 11-16, 42-45) in class
Homework: Assignment 8 - ADT Set


Week 13

Week of 5 Apr 2021

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).

Handout: none
Reading assignment: 443-531
Review: review the associated chapter exercises
Homework : Assignment 7 - Fibonnaci


Week 12

Week of 29 Mar 21

Discussed 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.

No class on Good Friday, 2 Apr 2021. Happy Easter weekend!

Handout: none
Reading assignment: 389-443
Review: review the associated chapter exercises
Homework: Chapter 6 Exercises (14, 15) in class
Homework: Assignment 6 - Circular Linked List


Week 11

Week of 22 Mar 21

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.

Discussed Assignment 6 - Circular Linked List.

Handout: none
Reading assignment: 357-389
Review: review the associated chapter exercises
Homework: Assignment 6 - Circular Linked List


Week 10

Week of 15 Mar 21

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
Review: review the associated chapter exercises
Homework: Chapter 5 Exercises (4-7, 24-29) in class
Homework: Assignment 5 - Files


Week 9

Week of 8 Mar 2021

Finished Chapter 4, ADT Sorted List. Discussed ADT Sorted List as a linked structure. Also compared sorted list implementations and discussed bounded and unbounded ADTs.

Started Chapter 5, ADTs Stack and Queue. Implemented Stack as an array-based structure and a linked structure. Used a stack to reverse a name and find out if an expression is well-formed. Also compared the two implementations of Stack.

Discussed Assignment 5 - Files.

Handout: none
Reading assignment: 231-300
Exercise(s): review the associated chapter exercises
Homework: Assignment 5 - Files


Week 8

Week of 1 Mar 21

Started Chapter 4, ADT Sorted List.

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

Handout: none
Reading assignment: 213-231
Exercise(s): review the associated chapter exercises
Homework: Assignment 4 - Sudoku2


Week 7

Week of 22 Feb 21

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 4 - Sudoku2


Week 6

Week of 15 Feb 21

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 - TwoNum Class


Week 5

Week of 8 Feb 21

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

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

Discussed Programming Assignment 3 - TwoNum Class.

Handout: none
Reading assignment: 140-157
Exercise(s): review the associated chapter exercises
Homework: Assignment 3 - TwoNum Class


Week 4

Week of 1 Feb 21

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).

Introduced ADT Unsorted List.

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


Week 3

Week of 25 Jan 21

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++.

Discussed Programming Assignment 2 - Sudoku.

Handout: none
Reading assignment: 65-97
Review: review the associated chapter exercises
Homework: Assignment 2 - Sudoku


Week 2

Week of 18 Jan 21

Monday is Martin Luther King Day - we have class, but we'll have some in-class presentations.

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

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

Handout: none
Reading assignment: 20-64
Review: review the associated chapter exercises
Homework: Assignment 0 (completed during class)
Homework: Assignment 1 - Package


Week 1

Week of 11 Jan 21

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 2019 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.

Discussed Programming Assignment 1 - Package.

Handout: Syllabus
Handout: GasPrice Algorithm
Reading assignment: 1-20
Review: review the associated chapter exercises
Homework: Assignment 0 (will be started during class)
Homework: Assignment 1 - Package


This page maintained by bobh@hesston.edu