{"id":2027,"date":"2018-01-22T06:11:26","date_gmt":"2018-01-22T11:11:26","guid":{"rendered":"https:\/\/www.jsums.edu\/nmeghanathan\/?page_id=2027"},"modified":"2018-04-17T18:15:09","modified_gmt":"2018-04-17T23:15:09","slug":"csc228-01-sp2018","status":"publish","type":"page","link":"https:\/\/www.jsums.edu\/nmeghanathan\/csc228-01-sp2018\/","title":{"rendered":"CSC 228 Data Structures and Algorithms (1 PM class), Spring 2018"},"content":{"rendered":"<p><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2018\/01\/CSC228-01-Sp2018-Exam-3-TakeHome-Part.pdf\" target=\"_blank\" rel=\"attachment wp-att-1664 noopener noreferrer\">Exam 3 &#8211; Take Home Part (Due on April 25th, Wednesday, at 1 PM, submit a hardcopy in-class)<\/a><\/p>\n<p><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2018\/01\/CSC228-Sp2018-Reading-List-for-Exam-3.pdf\" target=\"_blank\" rel=\"attachment wp-att-1664 noopener noreferrer\">Exam 3 &#8211; Reading List for In-class Part<\/a><\/p>\n<p><b> Exam 3 (In-class Part) will be on April 25th, Wednesday, from 1 PM to 2.50 PM; OPEN notes <\/b><\/p>\n<p><b>Projects 7-10 <\/b> posted.  Check in Canvas<\/p>\n<p><b>Quiz 7-8 posted. All Take Home. Check in Canvas.<\/p>\n<p><span style=\"line-height: 20.8px\">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<\/span><\/p>\n<p style=\"font-size: 13px;line-height: 20.8px\"><a href=\"#Syllabus\">Syllabus<\/a><br \/>\n<a href=\"#LectureSlides\">Lecture Slides<\/a><br \/>\n<a href=\"#LectureCodeCPP\">Lecture Code (C++)<\/a><br \/>\n<a href=\"#ProjDesc\">Project Descriptions<\/a><br \/>\n<a href=\"#QuizSolutions\">Quizzes and Exams<\/a><br \/>\n<a style=\"line-height: 20.8px\" href=\"#TestSchedules\">Quiz, Exam and Project Schedules<\/a><\/p>\n<p>\n&nbsp;<\/p>\n<h3><a name=\"Syllabus\"><\/a>Syllabus<\/h3>\n<p style=\"line-height: 20.8px\"><span style=\"font-size: 14px\"><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2018\/01\/CSC228-01-Syllabus-Sp2018.pdf\" target=\"_blank\" rel=\"attachment wp-att-1564 noopener noreferrer\">CSC228 Syllabus (1 PM class), Spring 2018<\/a><\/span><\/p>\n<p><\/p>\n<h3><a name=\"LectureSlides\"><\/a>Lecture Slides<\/h3>\n<p>\n<a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2018\/01\/CSC228-Sp2018-Module-1-Algorithm-Efficiency.pdf\" target=\"_blank\" rel=\"attachment wp-att-1664 noopener noreferrer\">Module 1:Asymptotic Time Complexity and Intro to Abstract Data Types<\/a><\/p>\n<p><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2018\/01\/CSC228-Sp2018-Module-2-List-ADT-NEW-1.pdf\" target=\"_blank\" rel=\"attachment wp-att-1664 noopener noreferrer\">Module 2 &#8211; List ADT<\/a><\/p>\n<p><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2018\/01\/CSC228-Sp2018-Module-3-Stack-ADT.pdf\" target=\"_blank\" rel=\"attachment wp-att-1664 noopener noreferrer\">Module 3 &#8211; Stack ADT<\/a><\/p>\n<p><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2018\/01\/CSC228-Sp2018-Module-4-Queue-ADT.pdf\" target=\"_blank\" rel=\"attachment wp-att-1664 noopener noreferrer\">Module 4 &#8211; Queue ADT<\/a><\/p>\n<p><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2018\/01\/CSC228-Sp2018-Module-5-Hashtables.pdf\" target=\"_blank\" rel=\"attachment wp-att-1664 noopener noreferrer\">Module 5 &#8211; Dictionary ADT: Hash tables <\/a><\/p>\n<p><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2018\/01\/CSC228-Sp2018-Module-6-BinaryTrees.pdf\" target=\"_blank\" rel=\"attachment wp-att-1664 noopener noreferrer\">Module 6 &#8211; Binary Trees<\/a><\/p>\n<p><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2018\/01\/CSC228-Sp2018-Module-7-BinarySearchTrees.pdf\" target=\"_blank\" rel=\"attachment wp-att-1664 noopener noreferrer\">Module 7 &#8211; Binary Search Trees<\/a><\/p>\n<p><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2018\/01\/CSC228-Sp2018-Module-8-Heap.pdf\" target=\"_blank\" rel=\"attachment wp-att-1664 noopener noreferrer\">Module 8 &#8211; Heap<\/a><\/p>\n<p><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2018\/01\/CSC228-Sp2018-Module-9-Graphs.pdf\" target=\"_blank\" rel=\"attachment wp-att-1664 noopener noreferrer\">Module 9 &#8211; Graphs<\/a><\/p>\n<h3><a name=\"LectureCodeCPP\"><\/a>Lecture Code (C++)<\/h3>\n<p>\n<span style=\"font-size: 14px\"><span style=\"font-family: arial,helvetica,sans-serif\"><strong>Module 2: List ADT<\/strong><\/span><\/span><\/p>\n<p><span style=\"font-size: 14px\"><strong>Code 1: <\/strong><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2017\/08\/1-cpp-StaticListArray.pdf\" target=\"_blank\" rel=\"attachment wp-att-1615 noopener noreferrer\">Static List Implementation using Arrays<\/a><\/span><\/p>\n<p><span style=\"font-size: 14px\"><strong>Code 2:<\/strong> <a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2017\/08\/2-cpp-DynamicListArray.pdf\" target=\"_blank\" rel=\"attachment wp-att-1616 noopener noreferrer\">Dynamic List Implementation using Arrays<\/a><\/span><\/p>\n<p><strong>Code 3: <\/strong><span style=\"font-size: 14px\"><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2017\/08\/2-3-cpp-SinglyLinkedList.pdf\" target=\"_blank\" rel=\"attachment wp-att-1647 noopener noreferrer\">Singly Linked List<\/a><\/span><\/p>\n<p><strong>Code 4: <\/strong><span style=\"font-size: 14px\"><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2018\/01\/2-4-cpp-arrayRecursive.pdf\" target=\"_blank\" rel=\"attachment wp-att-1621 noopener noreferrer\">Recursion and Random Number Generation<\/a><\/span><\/p>\n<p><strong>Code 5: <\/strong><span style=\"font-size: 14px\"><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2017\/08\/5-cpp-ReverseSinglyLinkedList.pdf\" target=\"_blank\" rel=\"attachment wp-att-1623 noopener noreferrer\">Reversing a Singly Linked List<\/a><\/span><\/p>\n<p><strong>Code 6: <\/strong><span style=\"font-size: 14px\"><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2018\/01\/cpp-Code-2-6-TimeAnalysis.pdf\" target=\"_blank\" rel=\"attachment wp-att-1623 noopener noreferrer\">Run Time Complexity Analysis<\/a><\/span><\/p>\n<p><span style=\"font-size: 14px\"><span style=\"font-family: arial,helvetica,sans-serif\"><strong>Module 3: Stack ADT<\/strong><\/span><\/span><\/p>\n<p><span style=\"font-size: 14px\"><strong>Code 1: <\/strong><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2017\/08\/3-1-cpp-DynamicArrayBasedStack.pdf\" target=\"_blank\" rel=\"attachment wp-att-1615 noopener noreferrer\">Dynamic Array based Stack<\/a><\/span><\/p>\n<p><span style=\"font-size: 14px\"><strong>Code 2:<\/strong> <a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2017\/08\/3-2-cpp-DoublyLinkedList_Stack.pdf\" target=\"_blank\" rel=\"attachment wp-att-1616 noopener noreferrer\">Doubly Linked List based Stack<\/a><\/span><\/p>\n<p><strong>Code 3: <\/strong><span style=\"font-size: 14px\"><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2017\/08\/3-3-cpp-stringProcessing.pdf\" target=\"_blank\" rel=\"attachment wp-att-1647 noopener noreferrer\">Example to Illustrate String Processing in C++<\/a><\/span><\/p>\n<p><strong>Code 4: <\/strong><span style=\"font-size: 14px\"><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2017\/08\/3-4-cpp-DoublyLinkedList_Stack_ParenthesisBalance.pdf\" target=\"_blank\" rel=\"attachment wp-att-1621 noopener noreferrer\">Using Stack to Check for Parenthesis Balance<\/a><\/span><\/p>\n<p><strong>Code 5: <\/strong><span style=\"font-size: 14px\"><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2017\/08\/3-5-cpp-stringTokenizing.pdf\" target=\"_blank\" rel=\"attachment wp-att-1623 noopener noreferrer\">Example to Illustrate String Tokenizing in C++<\/a><\/span><\/p>\n<p><strong>Code 6: <\/strong><span style=\"font-size: 14px\"><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2017\/08\/3-6-cpp-DoublyLinkedList_Stack_PostFix.pdf\" target=\"_blank\" rel=\"attachment wp-att-1623 noopener noreferrer\">Evaluation of an Expression in PostFix Format using Stack<\/a><\/span><\/p>\n<p><span style=\"font-size: 14px\"><span style=\"font-family: arial,helvetica,sans-serif\"><strong>Module 4: Queue ADT<\/strong><\/span><\/span><\/p>\n<p><span style=\"font-size: 14px\"><strong>Code 1: <\/strong><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2017\/08\/4-1-cpp-DynamicArrayBasedQueue.pdf\" target=\"_blank\" rel=\"attachment wp-att-1615 noopener noreferrer\">Dynamic Array based Queue<\/a><\/span><\/p>\n<p><span style=\"font-size: 14px\"><strong>Code 2:<\/strong> <a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2017\/08\/4-2-cpp-DoublyLinkedList_Queue.pdf\" target=\"_blank\" rel=\"attachment wp-att-1616 noopener noreferrer\">Doubly Linked List based Queue<\/a><\/span><\/p>\n<p><span style=\"font-size: 14px\"><span style=\"font-family: arial,helvetica,sans-serif\"><strong>Module 5: Dictionary ADT: Hashtable<\/strong><\/span><\/span><\/p>\n<p><span style=\"font-size: 14px\"><strong>Code 1: <\/strong><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2017\/08\/5-1-cpp-HashTable_LinkedList.pdf\" target=\"_blank\" rel=\"attachment wp-att-1615 noopener noreferrer\">Singly Linked List-based Implementation of Hashtable<\/a><\/span><\/p>\n<p><span style=\"font-size: 14px\"><strong>Code 2: <\/strong><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2017\/08\/5-2-cpp-HashTable_LinkedList_PermutationCheck.pdf\" target=\"_blank\" rel=\"attachment wp-att-1615 noopener noreferrer\">Use of Hashtable to Determine whether two Integer Sequences are Permutations of each other<\/a><\/span><\/p>\n<p><span style=\"font-size: 14px\"><strong>Code 3: <\/strong><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2017\/08\/5-3-cpp-HashTable_LinkedList_PrintUniqueElements.pdf\" target=\"_blank\" rel=\"attachment wp-att-1615 noopener noreferrer\">Use of Hashtable to Print the Unique Elements in an Array<\/a><\/span><\/p>\n<p><span style=\"font-size: 14px\"><strong>Code 4: <\/strong><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2017\/08\/5-4-cpp-HashTable_LinkedList_union.pdf\" target=\"_blank\" rel=\"attachment wp-att-1615 noopener noreferrer\">Use of Hashtable to Determine the Union (with unique elements) of Two Linked Lists (that may have duplicates)<\/a><\/span><\/p>\n<p><span style=\"font-size: 14px\"><span style=\"font-family: arial,helvetica,sans-serif\"><strong>Module 6: Binary Trees<\/strong><\/span><\/span><\/p>\n<p><span style=\"font-size: 14px\"><strong>Code 1: <\/strong><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2017\/08\/6-1-cpp-fileRead.pdf\" target=\"_blank\" rel=\"attachment wp-att-1615 noopener noreferrer\">To Read Text from a File<\/a><\/span><\/p>\n<p><span style=\"font-size: 14px\"><strong>Code 2: <\/strong><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2017\/08\/6-2-cpp-BinaryTreeImplementation.pdf\" target=\"_blank\" rel=\"attachment wp-att-1615 noopener noreferrer\">Implementation of Binary Trees<\/a><\/span><\/p>\n<p><span style=\"font-size: 14px\"><strong>Code 3: <\/strong><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2017\/08\/6-3-cpp-BinaryTree_Depth.pdf\" target=\"_blank\" rel=\"attachment wp-att-1615 noopener noreferrer\">Use of Breadth First Search to Determine the Depth of the Nodes in a Binary Tree<\/a><\/span><\/p>\n<p><span style=\"font-size: 14px\"><strong>Code 4: <\/strong><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2017\/08\/6-4-cpp-BinaryTree_Traversal.pdf\" target=\"_blank\" rel=\"attachment wp-att-1615 noopener noreferrer\">Preorder Traversal of a Binary Tree<\/a><\/span><\/p>\n<p><\/p>\n<p><span style=\"font-size: 14px\"><span style=\"font-family: arial,helvetica,sans-serif\"><strong>Module 7: Binary Search Trees<\/strong><\/span><\/span><\/p>\n<p><span style=\"font-size: 14px\"><strong>Code 1: <\/strong><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2017\/08\/7-1-cpp-BinarySearchTreeImplementation.pdf\" target=\"_blank\" rel=\"attachment wp-att-1615 noopener noreferrer\">Construction of a Binary Search Tree (Input: Sorted Array of Integers)<\/a><\/span><\/p>\n<p><span style=\"font-size: 14px\"><strong>Code 2: <\/strong><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2017\/08\/7-2-cpp-SelectionSort.pdf\" target=\"_blank\" rel=\"attachment wp-att-1615 noopener noreferrer\">Selection Sort<\/a><\/span><\/p>\n<p><span style=\"font-size: 14px\"><strong>Code 3: <\/strong><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2017\/08\/7-3-cpp-BinarySearchTree_RandomInputArray_Sorted.pdf\" target=\"_blank\" rel=\"attachment wp-att-1615 noopener noreferrer\">Construction of a Binary Search Tree (Input: Randomly Generated Array of Integers)<\/a><\/span><\/p>\n<p><span style=\"font-size: 14px\"><strong>Code 4: <\/strong><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2017\/08\/7-4-cpp-BinarySearchTree_SearchKey.pdf\" target=\"_blank\" rel=\"attachment wp-att-1615 noopener noreferrer\">Searching for a Key in a Binary Search Tree<\/a><\/span><\/p>\n<h3><a name=\"LectureCodeJava\"><\/a>Lecture Code (Java)<\/h3>\n<p><span style=\"font-family: arial,helvetica,sans-serif\"><strong>Module 2: List ADT<\/strong><\/span><\/p>\n<p><strong>Code 1: <\/strong><span style=\"font-size: 14px\"><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2017\/08\/1-java-StaticListArray.pdf\" target=\"_blank\" rel=\"attachment wp-att-1624 noopener noreferrer\">Static List Implementation using Arrays<\/a><\/span><\/p>\n<p><strong>Code 2: <\/strong><span style=\"font-size: 14px\"><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2017\/08\/2-java-DynamicListArray.pdf\" target=\"_blank\" rel=\"attachment wp-att-1625 noopener noreferrer\">Dynamic List Implementation using Arrays<\/a><\/span><br \/>\n<br \/>\n<strong>Code 3: <\/strong><span style=\"font-size: 14px\"><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2017\/08\/2-3-java-SinglyLinkedList.pdf\" target=\"_blank\" rel=\"attachment wp-att-1648 noopener noreferrer\">Singly Linked List<\/a><\/span><\/p>\n<p><strong>Code 4: <\/strong><span style=\"font-size: 14px\"><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2017\/08\/4-java-arrayRecursive.pdf\" target=\"_blank\" rel=\"attachment wp-att-1627 noopener noreferrer\">Recursion and Random Number Generation<\/a><\/span><\/p>\n<p><strong>Code 5: <\/strong><span style=\"font-size: 14px\"><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2017\/08\/5-java-ReverseSinglyLinkedList.pdf\" target=\"_blank\" rel=\"attachment wp-att-1628 noopener noreferrer\">Reversing a Singly Linked List<\/a><\/span><\/p>\n<p><\/p>\n<p><span style=\"font-family: arial,helvetica,sans-serif\"><strong>Module 3: Stack ADT<\/strong><\/span><\/p>\n<p><span style=\"font-size: 14px\"><strong>Code 1: <\/strong><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2017\/08\/3-1-java-DynamicArrayBasedStack.pdf\" target=\"_blank\" rel=\"attachment wp-att-1615 noopener noreferrer\">Dynamic Array based Stack<\/a><\/span><\/p>\n<p><span style=\"font-size: 14px\"><strong>Code 2:<\/strong> <a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2017\/08\/3-2-java-DoublyLinkedList_Stack.pdf\" target=\"_blank\" rel=\"attachment wp-att-1616 noopener noreferrer\">Doubly Linked List based Stack<\/a><\/span><\/p>\n<p><strong>Code 3: <\/strong><span style=\"font-size: 14px\"><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2017\/08\/3-3-java-stringProcessing.pdf\" target=\"_blank\" rel=\"attachment wp-att-1647 noopener noreferrer\">Example to Illustrate String Processing in Java<\/a><\/span><\/p>\n<p><strong>Code 4: <\/strong><span style=\"font-size: 14px\"><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2017\/08\/3-4-java-DoublyLinkedList_Stack_BalancedParenthesis.pdf\" target=\"_blank\" rel=\"attachment wp-att-1621 noopener noreferrer\">Using Stack to Check for Parenthesis Balance<\/a><\/span><\/p>\n<p><strong>Code 5: <\/strong><span style=\"font-size: 14px\"><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2017\/08\/3-5-java-stringTokenizing.pdf\" target=\"_blank\" rel=\"attachment wp-att-1623 noopener noreferrer\">Example to Illustrate String Tokenizing in Java<\/a><\/span><\/p>\n<p><strong>Code 6: <\/strong><span style=\"font-size: 14px\"><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2017\/08\/3-6-java-DoublyLinkedList_Stack_PostFix.pdf\" target=\"_blank\" rel=\"attachment wp-att-1623 noopener noreferrer\">Evaluation of an Expression in PostFix Format using Stack<\/a><\/span><\/p>\n<p><\/p>\n<p><span style=\"font-size: 14px\"><span style=\"font-family: arial,helvetica,sans-serif\"><strong>Module 4: Queue ADT<\/strong><\/span><\/span><\/p>\n<p><span style=\"font-size: 14px\"><strong>Code 1: <\/strong><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2017\/08\/4-1-java-DynamicArrayBasedQueue.pdf\" target=\"_blank\" rel=\"attachment wp-att-1615 noopener noreferrer\">Dynamic Array based Queue<\/a><\/span><\/p>\n<p><span style=\"font-size: 14px\"><strong>Code 2:<\/strong> <a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2017\/08\/4-2-java-DoublyLinkedList_Queue.pdf\" target=\"_blank\" rel=\"attachment wp-att-1616 noopener noreferrer\">Doubly Linked List based Queue<\/a><\/span><\/p>\n<p><\/p>\n<p><span style=\"font-size: 14px\"><span style=\"font-family: arial,helvetica,sans-serif\"><strong>Module 5: Dictionary ADT: Hashtable<\/strong><\/span><\/span><\/p>\n<p><span style=\"font-size: 14px\"><strong>Code 1: <\/strong><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2017\/08\/5-1-java-HashTable_LinkedList.pdf\" target=\"_blank\" rel=\"attachment wp-att-1615 noopener noreferrer\">Singly Linked List-based Implementation of Hashtable<\/a><\/span><\/p>\n<p><span style=\"font-size: 14px\"><strong>Code 2: <\/strong><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2017\/08\/5-2-java-HashTable_LinkedList_PermutationCheck.pdf\" target=\"_blank\" rel=\"attachment wp-att-1615 noopener noreferrer\">Use of Hashtable to Determine whether two Integer Sequences are Permutations of each other<\/a><\/span><\/p>\n<p><span style=\"font-size: 14px\"><strong>Code 3: <\/strong><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2017\/08\/5-3-java-HashTable_LinkedList_PrintUniqueElements.pdf\" target=\"_blank\" rel=\"attachment wp-att-1615 noopener noreferrer\">Use of Hashtable to Print the Unique Elements in an Array<\/a><\/span><\/p>\n<p><span style=\"font-size: 14px\"><strong>Code 4: <\/strong><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2017\/08\/5-4-java-HashTable_LinkedList_union.pdf\" target=\"_blank\" rel=\"attachment wp-att-1615 noopener noreferrer\">Use of Hashtable to Determine the Union (with unique elements) of Two Linked Lists (that may have duplicates)<\/a><\/span><\/p>\n<p><span style=\"font-size: 14px\"><span style=\"font-family: arial,helvetica,sans-serif\"><strong>Module 6: Binary Trees<\/strong><\/span><\/span><\/p>\n<p><span style=\"font-size: 14px\"><strong>Code 1: <\/strong><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2017\/08\/6-1-java-fileRead.pdf\" target=\"_blank\" rel=\"attachment wp-att-1615 noopener noreferrer\">To Read Text from a File<\/a><\/span><\/p>\n<p><span style=\"font-size: 14px\"><strong>Code 2: <\/strong><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2017\/08\/6-2-java-BinaryTreeImplementation.pdf\" target=\"_blank\" rel=\"attachment wp-att-1615 noopener noreferrer\">Implementation of Binary Trees<\/a><\/span><\/p>\n<p><span style=\"font-size: 14px\"><strong>Code 3: <\/strong><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2017\/08\/6-3-java-BinaryTree_Depth.pdf\" target=\"_blank\" rel=\"attachment wp-att-1615 noopener noreferrer\">Use of Breadth First Search to Determine the Depth of the Nodes in a Binary Tree<\/a><\/span><\/p>\n<p><span style=\"font-size: 14px\"><strong>Code 4: <\/strong><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2017\/08\/6-4-java-BinaryTree_Traversal.pdf\" target=\"_blank\" rel=\"attachment wp-att-1615 noopener noreferrer\">Preorder Traversal of a Binary Tree<\/a><\/span><\/p>\n<p><\/p>\n<p><span style=\"font-size: 14px\"><span style=\"font-family: arial,helvetica,sans-serif\"><strong>Module 7: Binary Search Trees<\/strong><\/span><\/span><\/p>\n<p><span style=\"font-size: 14px\"><strong>Code 1: <\/strong><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2017\/08\/7-1-java-BinarySearchTreeImplementation.pdf\" target=\"_blank\" rel=\"attachment wp-att-1615 noopener noreferrer\">Construction of a Binary Search Tree (Input: Sorted Array of Integers)<\/a><\/span><\/p>\n<p><span style=\"font-size: 14px\"><strong>Code 2: <\/strong><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2017\/08\/7-2-java-SelectionSort.pdf\" target=\"_blank\" rel=\"attachment wp-att-1615 noopener noreferrer\">Selection Sort<\/a><\/span><\/p>\n<p><span style=\"font-size: 14px\"><strong>Code 3: <\/strong><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2017\/08\/7-3-java-BinarySearchTree_RandomInputArray_Sorted.pdf\" target=\"_blank\" rel=\"attachment wp-att-1615 noopener noreferrer\">Construction of a Binary Search Tree (Input: Randomly Generated Array of Integers)<\/a><\/span><\/p>\n<p><span style=\"font-size: 14px\"><strong>Code 4: <\/strong><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2017\/08\/7-4-java-BinarySearchTree_SearchKey.pdf\" target=\"_blank\" rel=\"attachment wp-att-1615 noopener noreferrer\">Searching for a Key in a Binary Search Tree<\/a><\/span><\/p>\n<p><\/p>\n<h3><a name=\"ProjDesc\"><\/a>Project Descriptions<\/h3>\n<p><span style=\"font-size: 14px\"><strong>Project 1 (Due on Feb. 7th, 1 PM): <\/strong><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2018\/01\/CSC228-01-Sp2018-Project-1-List-DynamicArray.pdf\" target=\"_blank\" rel=\"attachment wp-att-1615 noopener noreferrer\">Algorithm Design and Time Complexity Analysis for Operations on the Dynamic Array Implementation of the List ADT<\/a><\/span><br \/>\n&nbsp; &nbsp;<br \/>\n<span style=\"font-size: 14px\"><strong>cpp code:<\/strong><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2018\/01\/CSC228-Sp2018-Project-1-Code.doc\" target=\"_blank\" rel=\"attachment wp-att-1615 noopener noreferrer\">In a Word Document<\/a><br \/>The code is also available in Canvas<\/span><\/p>\n<p><\/p>\n<p><span style=\"font-size: 14px\"><strong>Project 2 (Due on Feb. 14th, 1 PM): <\/strong><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2018\/01\/CSC228-01-Sp2018-Project-2-LinkedList-UniqueMerger.pdf\" target=\"_blank\" rel=\"attachment wp-att-1615 noopener noreferrer\">Implementation of the Merge List Function (for Merger of Unique Elements) for Singly Linked List and the Time Complexity Analysis<\/a><\/span><br \/>\n&nbsp; &nbsp;<br \/>\n<span style=\"font-size: 14px\"><strong>cpp code:<\/strong><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2018\/01\/CSC228-Sp2018-Project-2-Code.doc\" target=\"_blank\" rel=\"attachment wp-att-1615 noopener noreferrer\">In a Word Document<\/a><br \/>Also, check Canvas for the code<\/span><\/p>\n<p><\/p>\n<p><span style=\"font-size: 14px\"><strong>Project 3 (Due on Feb. 21st, 1 PM): <\/strong><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2018\/01\/CSC228-01-Sp2018-Project-3-Stack-SinglyLinkedList.pdf\" target=\"_blank\" rel=\"attachment wp-att-1615 noopener noreferrer\">Implementation of the Stack ADT using Singly Linked List and the Time Complexity Analysis of the Push and Pop Operations<\/a><br \/> Check in Canvas for the code<\/span><\/p>\n<p><span style=\"font-size: 14px\"><strong>Project 4 (Due on Feb. 28th, 1 PM): <\/strong><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2018\/01\/CSC228-01-Sp2018-Project-4-Stack-NextGreaterElement.pdf\" target=\"_blank\" rel=\"attachment wp-att-1615 noopener noreferrer\">Design and Implementation of an Algorithm to Find the Next Greater Element of the Elements in an Array in \u0398(n) Time<\/a><br \/> Check in Canvas for the code<\/span><\/p>\n<p><span style=\"font-size: 14px\"><strong>Project 5 (Due on March 7th, 11.59 PM): <\/strong><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2018\/01\/CSC228-Sp2018-Project-5-Queue-Stack-based-Implementation.pdf\" target=\"_blank\" rel=\"attachment wp-att-1615 noopener noreferrer\">Stack-based Implementation of Queue<\/a><br \/> Check in Canvas for the code<\/span><\/p>\n<p><span style=\"font-size: 14px\"><strong>Project 6 (Due on March 21st, 11.59 PM): <\/strong><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2018\/01\/CSC228-Sp2018-Project-6-Check-Complete-BST.pdf\" target=\"_blank\" rel=\"attachment wp-att-1615 noopener noreferrer\">Binary Tree: Checking for Complete Binary Tree and Binary Search Tree<\/a><br \/> Check in Canvas for the code<\/span><\/p>\n<p><span style=\"font-size: 14px\"><strong>Project 7 (Due on March 28th, 11.59 PM): <\/strong><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2018\/01\/CSC228-Sp2018-Project-7-IterativeProcedure-PreOrderTraversal.pdf\" target=\"_blank\" rel=\"attachment wp-att-1615 noopener noreferrer\">Binary Tree: Design and Implementation of an Iterative Algorithm (using the Stack ADT) to do a Preorder Traversal of the Vertices<\/a><br \/> Check in Canvas for the code and text files<\/span><\/p>\n<p><span style=\"font-size: 14px\"><strong>Project 8 (Due on April 4th, 11.59 PM): <\/strong><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2018\/01\/CSC228-Spring2018-Project-8-Avg-Number-of-Comparisons-SuccSearch-BST.pdf\" target=\"_blank\" rel=\"attachment wp-att-1615 noopener noreferrer\">Binary Search Tree: Average Number of Comparisons for a Successful Search<\/a><br \/> Check in Canvas for the code and text files<\/span><\/p>\n<p><span style=\"font-size: 14px\"><strong>Project 9 (Due on April 11th, 11.59 PM): <\/strong><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2018\/01\/CSC228-Sp2018-Project-9-BinaryTree-MaxHeap.pdf\" target=\"_blank\" rel=\"attachment wp-att-1615 noopener noreferrer\">Checking whether a Binary Tree is a Max Heap<\/a><br \/> Check in Canvas for the code and text files<\/span><\/p>\n<p><span style=\"font-size: 14px\"><strong>Project 10 (Due on April 18th, 11.59 PM): <\/strong><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2018\/01\/CSC228-Sp2018-Project-10-DegreeDistribution-Graph.pdf\" target=\"_blank\" rel=\"attachment wp-att-1615 noopener noreferrer\">Degree Distribution of the Vertices in a Graph<\/a><br \/> Check in Canvas for the code and text files<\/span><\/p>\n<h3><a id=\"QuizSolutions\" name=\"QuizSolutions\"><\/a>Quizzes and Exams<\/h3>\n<p><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2018\/01\/CSC228-01-Sp2018-Exam-3-TakeHome-Part.pdf\" target=\"_blank\" rel=\"attachment wp-att-1664 noopener noreferrer\">Exam 3 &#8211; Take Home Part (Due on April 25th, Wednesday, at 1 PM, submit a hardcopy in-class)<\/a><\/p>\n<p><span style=\"font-size: 14px\"><strong>Quiz 2: Take Home (Due on Feb. 9th, 1 PM): <\/strong><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2018\/01\/CSC228-01-Sp2018-Quiz-2-TakeHome-DynamicArray-Resize.pdf\" target=\"_blank\" rel=\"attachment wp-att-1615 noopener noreferrer\">Dynamic Array Implementation of the List ADT: Doubling the List Size vs. Incrementing the List Size by One: Memory and Run Time Analysis<\/a><\/span><br \/>\n&nbsp; &nbsp;<br \/>\n<span style=\"font-size: 14px\"><strong>cpp code:<\/strong><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2018\/01\/CSC228-Sp2018-Quiz-2-Code.doc\" target=\"_blank\" rel=\"attachment wp-att-1615 noopener noreferrer\">In a Word Document<\/a><\/span><\/p>\n<p>The code is also available in Canvas<\/p>\n<p><\/p>\n<p><span style=\"font-size: 14px\"><strong>Quiz 3: Take Home (Due on Feb. 16th, 11.59 PM): <\/strong><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2018\/01\/CSC228-01-Sp2018-Quiz-3-TakeHome-LinkedList-DynamicArray-MemoryRuntime.pdf\" target=\"_blank\" rel=\"attachment wp-att-1615 noopener noreferrer\">Linked List vs. Dynamic Array Implementation of the List ADT: Impact of Insertion Index, Data Size and List Size: Memory and Run Time Analysis<\/a><\/span><br \/>\n&nbsp; &nbsp;<br \/>\n<span style=\"font-size: 14px\"><strong>cpp code:<\/strong><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2018\/01\/CSC228-Sp2018-Quiz-3-Code.doc\" target=\"_blank\" rel=\"attachment wp-att-1615 noopener noreferrer\">In a Word Document<\/a><\/span><\/p>\n<p>The code is also available in Canvas<\/p>\n<p><\/p>\n<p><span style=\"font-size: 14px\"><strong>Exam 1: Take Home (Due on Feb. 23rd, 11.59 PM): <\/strong><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2018\/01\/CSC228-Sp2018-Exam-1.pdf\" target=\"_blank\" rel=\"attachment wp-att-1615 noopener noreferrer\">Covers Modules 2 and 3<\/a>  &nbsp; &nbsp; Check Canvas for Code<\/span><\/p>\n<p><span style=\"font-size: 14px\"><strong>Quiz 4: Take Home (Due on March 2nd, 11.59 PM): <\/strong><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2018\/01\/CSC228-Sp2018-Quiz-4-TakeHome-Stacks-ParenthesisEvaluation-PreFix-Expression.pdf\" target=\"_blank\" rel=\"attachment wp-att-1615 noopener noreferrer\">Determination of Maximum Depth of Nested Parentheses in an Expression and Evaluation of an Expression in Pre-fix Format<\/a>  &nbsp; &nbsp; Check Canvas for Code<\/span><\/p>\n<p><span style=\"font-size: 14px\"><strong>Quiz 5: Take Home (Due on March 9th, 11.59 PM): <\/strong><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2018\/01\/CSC228-60-Sp2018-Quiz-5-HashtableSize-AverageInsertionTime-LoadImbalanceIndex.pdf\" target=\"_blank\" rel=\"attachment wp-att-1615 noopener noreferrer\">Hash table Tradeoff Analysis: Average Insertion Time vs. Load Imbalance Index<\/a>  &nbsp; &nbsp; Check Canvas for Code<\/span><\/p>\n<p><span style=\"font-size: 14px\"><strong>Quiz 6: Take Home (Due on March 23rd, 11.59 PM): <\/strong><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2018\/01\/CSC228-Sp2018-Quiz-6-HeightBalancedBinaryTrees.pdf\" target=\"_blank\" rel=\"attachment wp-att-1615 noopener noreferrer\">Height-Balanced Binary Trees<\/a>  &nbsp; &nbsp; Check Canvas for Code<\/span><\/p>\n<p><span style=\"font-size: 14px\"><strong>Quiz 7: Take Home (Due on April 13th, 11.59 PM): <\/strong><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2018\/01\/CSC228-Sp2018-Quiz-7-BST-LowestCommonAncestor.pdf\" target=\"_blank\" rel=\"attachment wp-att-1615 noopener noreferrer\">Binary Search Tree: Lowest Common Ancestor Node<\/a>  &nbsp; &nbsp; Check Canvas for Code<\/span><\/p>\n<p><span style=\"font-size: 14px\"><strong>Quiz 8: Take Home (Due on April 20th, 11.59 PM): <\/strong><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2018\/01\/CSC228-Sp2018-Quiz-8-Graph-BipartiteTest-LevelNumbers.pdf\" target=\"_blank\" rel=\"attachment wp-att-1615 noopener noreferrer\">Breadth First Search on a Graph: Test for Bipartivity<\/a>  &nbsp; &nbsp; Check Canvas for Code<\/span><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h3><a name=\"TestSchedules\"><\/a>Quiz, Exam and Project Schedules<\/h3>\n<p><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2018\/01\/CSC228-Sp2018-01-section-TentativeSchedule-Upd-Jan28\/\" rel=\"attachment wp-att-1568\"><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-full wp-image-1568\" src=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2018\/01\/CSC228-Sp2018-01-section-TentativeSchedule-Upd-Jan28.jpg\" alt=\"\" width=\"975\" height=\"531\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Exam 3 &#8211; Take Home Part (Due on April 25th, Wednesday, at 1 PM, submit a hardcopy in-class) Exam 3 &#8211; Reading List for In-class Part Exam 3 (In-class Part) will be on April 25th, Wednesday, from 1 PM to 2.50 PM; OPEN notes Projects 7-10 posted. Check in Canvas Quiz 7-8 posted. All Take [&hellip;]<\/p>\n","protected":false},"author":168,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0},"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.jsums.edu\/nmeghanathan\/wp-json\/wp\/v2\/pages\/2027"}],"collection":[{"href":"https:\/\/www.jsums.edu\/nmeghanathan\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.jsums.edu\/nmeghanathan\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.jsums.edu\/nmeghanathan\/wp-json\/wp\/v2\/users\/168"}],"replies":[{"embeddable":true,"href":"https:\/\/www.jsums.edu\/nmeghanathan\/wp-json\/wp\/v2\/comments?post=2027"}],"version-history":[{"count":63,"href":"https:\/\/www.jsums.edu\/nmeghanathan\/wp-json\/wp\/v2\/pages\/2027\/revisions"}],"predecessor-version":[{"id":2308,"href":"https:\/\/www.jsums.edu\/nmeghanathan\/wp-json\/wp\/v2\/pages\/2027\/revisions\/2308"}],"wp:attachment":[{"href":"https:\/\/www.jsums.edu\/nmeghanathan\/wp-json\/wp\/v2\/media?parent=2027"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}