{"id":2326,"date":"2018-08-20T19:06:39","date_gmt":"2018-08-21T00:06:39","guid":{"rendered":"https:\/\/www.jsums.edu\/nmeghanathan\/?page_id=2326"},"modified":"2018-11-06T13:29:43","modified_gmt":"2018-11-06T18:29:43","slug":"csc228-fall2018","status":"publish","type":"page","link":"https:\/\/www.jsums.edu\/nmeghanathan\/csc228-fall2018\/","title":{"rendered":"CSC 228 Data Structures and Algorithms, Fall 2018"},"content":{"rendered":"<p>\n\t<strong><span style=\"color:#FF0000\">Exam 3 (IN-CLASS; on Nov. 29th @ 2.30 PM): OPEN NOTES. <\/span><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2018\/08\/CSC228-Fall2018-Reading-List-for-Exam-3.pdf\" rel=\"attachment wp-att-2539\" target=\"_blank\">Reading List<\/a><\/strong>\n<\/p>\n<p>\n\t<strong><span style=\"color:#FF0000\">Exam 2 (Take Home: Due on Nov. 8th) posted.<\/span><\/strong>\n<\/p>\n<p>\n\t<span style=\"color:#FF0000\"><strong>Projects 9-10 posted<\/strong><\/span>\n<\/p>\n<p>\n\t<span style=\"color:#FF0000\"><strong>Quiz 7 (Take Home) posted (Due on Nov. 15th, 11.59 PM)<\/strong><\/span>\n<\/p>\n<p>\n\t<span style=\"color:#000000\"><strong><span style=\"line-height: 20.8px\">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<\/span><\/strong><\/span>\n<\/p>\n<p style=\"font-size: 13px;line-height: 20.8px\">\n\t<b><a href=\"#Syllabus\">Syllabus<\/a><\/b>\n<\/p>\n<p style=\"font-size: 13px;line-height: 20.8px\">\n\t<b><a href=\"#Teaching Assistant\">Teaching Assistant<\/a><\/b>\n<\/p>\n<p style=\"font-size: 13px;line-height: 20.8px\">\n\t<b><a href=\"#LectureSlides\">Lecture Slides<\/a><br \/>\n\t<a href=\"#LectureCodeCPP\">Lecture Code (C++)<\/a><br \/>\n\t<a href=\"#ProjDesc\">Project Descriptions<\/a><br \/>\n\t<a href=\"#QuizSolutions\">Quizzes and Exams<\/a><br \/>\n\t<a href=\"#TestSchedules\" style=\"line-height: 20.8px\">Quiz, Exam and Project Schedules<\/a><\/b>\n<\/p>\n<p>\n\t<b>&nbsp;<\/b>\n<\/p>\n<h3>\n\t<b><a name=\"Syllabus\"><\/a>Syllabus<\/b><br \/>\n<\/h3>\n<p style=\"line-height: 20.8px\">\n\t<b><span style=\"font-size: 14px\"><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2018\/08\/CSC228-Syllabus-Fall2018.pdf\" rel=\"attachment wp-att-1564 noopener noreferrer\" target=\"_blank\">CSC228 Syllabus, Fall 2018<\/a><\/span><\/b>\n<\/p>\n<p>\n\t&nbsp;\n<\/p>\n<p>\n\t<b><a id=\"Teaching Assistant\" name=\"Teaching Assistant\"><\/a>Teaching Assistant<\/b>\n<\/p>\n<p>\n\t<strong><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2018\/08\/Fall2018-TA-information.pdf\" rel=\"attachment wp-att-2354\" target=\"_blank\">Fall2018-TA-information<\/a><\/strong>\n<\/p>\n<p>\n\t&nbsp;\n<\/p>\n<h3>\n\t<b><a name=\"LectureSlides\"><\/a>Lecture Slides<\/b><br \/>\n<\/h3>\n<p>\n\t<b><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2018\/08\/CSC228-Fall2018-Module-1-Algorithm-Efficiency.pdf\" rel=\"attachment wp-att-1664 noopener noreferrer\" target=\"_blank\">Module 1:Asymptotic Time Complexity and Intro to Abstract Data Types<\/a><\/b>\n<\/p>\n<p>\n\t<b><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2018\/08\/CSC228-Fall2018-Module-2-List-ADT.pdf\" rel=\"attachment wp-att-1664 noopener noreferrer\" target=\"_blank\">Module 2 &#8211; List ADT (Last updated: Sept. 4th)<\/a><\/b>\n<\/p>\n<p>\n\t<b><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2018\/08\/CSC228-Fall2018-Module-3-Stack-ADT.pdf\" rel=\"attachment wp-att-1664 noopener noreferrer\" target=\"_blank\">Module 3 &#8211; Stack ADT<\/a><\/b>\n<\/p>\n<p>\n\t<b><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2018\/01\/CSC228-Sp2018-Module-4-Queue-ADT.pdf\" rel=\"attachment wp-att-1664 noopener noreferrer\" target=\"_blank\">Module 4 &#8211; Queue ADT<\/a><\/b>\n<\/p>\n<p>\n\t<b><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2018\/01\/CSC228-Sp2018-Module-5-Hashtables.pdf\" rel=\"attachment wp-att-1664 noopener noreferrer\" target=\"_blank\">Module 5 &#8211; Dictionary ADT: Hash tables <\/a><\/b>\n<\/p>\n<p>\n\t<b><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2018\/08\/CSC228-Fall2018-Module-6-BinaryTrees.pdf\" rel=\"attachment wp-att-1664 noopener noreferrer\" target=\"_blank\">Module 6 &#8211; Binary Trees<\/a><\/b>\n<\/p>\n<p>\n\t<b><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2018\/01\/CSC228-Sp2018-Module-7-BinarySearchTrees.pdf\" rel=\"attachment wp-att-1664 noopener noreferrer\" target=\"_blank\">Module 7 &#8211; Binary Search Trees<\/a><\/b>\n<\/p>\n<p>\n\t<b><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2018\/08\/CSC228-Fall2018-Module-8-Heap.pdf\" rel=\"attachment wp-att-1664 noopener noreferrer\" target=\"_blank\">Module 8 &#8211; Heap<\/a><\/b>\n<\/p>\n<p>\n\t<b><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2018\/08\/CSC228-Fall2018-Module-9-Graphs.pdf\" rel=\"attachment wp-att-1664 noopener noreferrer\" target=\"_blank\">Module 9 &#8211; Graphs<\/a><\/b>\n<\/p>\n<h3>\n\t<b><a name=\"LectureCodeCPP\"><\/a>Lecture Code (C++)<\/b><br \/>\n<\/h3>\n<p>\n\t<b><span style=\"font-size: 14px\"><span style=\"font-family: arial,helvetica,sans-serif\"><strong>Module 2: List ADT<\/strong><\/span><\/span><\/b>\n<\/p>\n<p>\n\t<b><span style=\"font-size: 14px\"><strong>Code 1: <\/strong><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2017\/08\/1-cpp-StaticListArray.pdf\" rel=\"attachment wp-att-1615 noopener noreferrer\" target=\"_blank\">Static List Implementation using Arrays<\/a><\/span><\/b>\n<\/p>\n<p>\n\t<b><span style=\"font-size: 14px\"><strong>Code 2:<\/strong> <a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2017\/08\/2-cpp-DynamicListArray.pdf\" rel=\"attachment wp-att-1616 noopener noreferrer\" target=\"_blank\">Dynamic List Implementation using Arrays<\/a><\/span><\/b>\n<\/p>\n<p>\n\t<b><strong>Code 3: <\/strong><span style=\"font-size: 14px\"><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2017\/08\/2-3-cpp-SinglyLinkedList.pdf\" rel=\"attachment wp-att-1647 noopener noreferrer\" target=\"_blank\">Singly Linked List<\/a><\/span><\/b>\n<\/p>\n<p>\n\t<b><strong>Code 4: <\/strong><span style=\"font-size: 14px\"><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2018\/01\/2-4-cpp-arrayRecursive.pdf\" rel=\"attachment wp-att-1621 noopener noreferrer\" target=\"_blank\">Recursion and Random Number Generation<\/a><\/span><\/b>\n<\/p>\n<p>\n\t<b><strong>Code 5: <\/strong><span style=\"font-size: 14px\"><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2017\/08\/5-cpp-ReverseSinglyLinkedList.pdf\" rel=\"attachment wp-att-1623 noopener noreferrer\" target=\"_blank\">Reversing a Singly Linked List<\/a><\/span><\/b>\n<\/p>\n<p>\n\t<b><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\" rel=\"attachment wp-att-1623 noopener noreferrer\" target=\"_blank\">Run Time Complexity Analysis<\/a><\/span><\/b>\n<\/p>\n<p>\n\t<b><span style=\"font-size: 14px\"><span style=\"font-family: arial,helvetica,sans-serif\"><strong>Module 3: Stack ADT<\/strong><\/span><\/span><\/b>\n<\/p>\n<p>\n\t<b><span style=\"font-size: 14px\"><strong>Code 1: <\/strong><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2017\/08\/3-1-cpp-DynamicArrayBasedStack.pdf\" rel=\"attachment wp-att-1615 noopener noreferrer\" target=\"_blank\">Dynamic Array based Stack<\/a><\/span><\/b>\n<\/p>\n<p>\n\t<b><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\" rel=\"attachment wp-att-1616 noopener noreferrer\" target=\"_blank\">Doubly Linked List based Stack<\/a><\/span><\/b>\n<\/p>\n<p>\n\t<b><strong>Code 3: <\/strong><span style=\"font-size: 14px\"><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2017\/08\/3-3-cpp-stringProcessing.pdf\" rel=\"attachment wp-att-1647 noopener noreferrer\" target=\"_blank\">Example to Illustrate String Processing in C++<\/a><\/span><\/b>\n<\/p>\n<p>\n\t<b><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\" rel=\"attachment wp-att-1621 noopener noreferrer\" target=\"_blank\">Using Stack to Check for Parenthesis Balance<\/a><\/span><\/b>\n<\/p>\n<p>\n\t<b><strong>Code 5: <\/strong><span style=\"font-size: 14px\"><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2017\/08\/3-5-cpp-stringTokenizing.pdf\" rel=\"attachment wp-att-1623 noopener noreferrer\" target=\"_blank\">Example to Illustrate String Tokenizing in C++<\/a><\/span><\/b>\n<\/p>\n<p>\n\t<b><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\" rel=\"attachment wp-att-1623 noopener noreferrer\" target=\"_blank\">Evaluation of an Expression in PostFix Format using Stack<\/a><\/span><\/b>\n<\/p>\n<p>\n\t<b><span style=\"font-size: 14px\"><span style=\"font-family: arial,helvetica,sans-serif\"><strong>Module 4: Queue ADT<\/strong><\/span><\/span><\/b>\n<\/p>\n<p>\n\t<b><span style=\"font-size: 14px\"><strong>Code 1: <\/strong><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2017\/08\/4-1-cpp-DynamicArrayBasedQueue.pdf\" rel=\"attachment wp-att-1615 noopener noreferrer\" target=\"_blank\">Dynamic Array based Queue<\/a><\/span><\/b>\n<\/p>\n<p>\n\t<b><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\" rel=\"attachment wp-att-1616 noopener noreferrer\" target=\"_blank\">Doubly Linked List based Queue<\/a><\/span><\/b>\n<\/p>\n<p>\n\t<b><span style=\"font-size: 14px\"><span style=\"font-family: arial,helvetica,sans-serif\"><strong>Module 5: Dictionary ADT: Hashtable<\/strong><\/span><\/span><\/b>\n<\/p>\n<p>\n\t<b><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\" rel=\"attachment wp-att-1615 noopener noreferrer\" target=\"_blank\">Singly Linked List-based Implementation of Hashtable<\/a><\/span><\/b>\n<\/p>\n<p>\n\t<b><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\" rel=\"attachment wp-att-1615 noopener noreferrer\" target=\"_blank\">Use of Hashtable to Determine whether two Integer Sequences are Permutations of each other<\/a><\/span><\/b>\n<\/p>\n<p>\n\t<b><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\" rel=\"attachment wp-att-1615 noopener noreferrer\" target=\"_blank\">Use of Hashtable to Print the Unique Elements in an Array<\/a><\/span><\/b>\n<\/p>\n<p>\n\t<b><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\" rel=\"attachment wp-att-1615 noopener noreferrer\" target=\"_blank\">Use of Hashtable to Determine the Union (with unique elements) of Two Linked Lists (that may have duplicates)<\/a><\/span><\/b>\n<\/p>\n<p>\n\t<b><span style=\"font-size: 14px\"><span style=\"font-family: arial,helvetica,sans-serif\"><strong>Module 6: Binary Trees<\/strong><\/span><\/span><\/b>\n<\/p>\n<p>\n\t<b><span style=\"font-size: 14px\"><strong>Code 1: <\/strong><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2017\/08\/6-1-cpp-fileRead.pdf\" rel=\"attachment wp-att-1615 noopener noreferrer\" target=\"_blank\">To Read Text from a File<\/a><\/span><\/b>\n<\/p>\n<p>\n\t<b><span style=\"font-size: 14px\"><strong>Code 2: <\/strong><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2017\/08\/6-2-cpp-BinaryTreeImplementation.pdf\" rel=\"attachment wp-att-1615 noopener noreferrer\" target=\"_blank\">Implementation of Binary Trees<\/a><\/span><\/b>\n<\/p>\n<p>\n\t<b><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\" rel=\"attachment wp-att-1615 noopener noreferrer\" target=\"_blank\">Use of Breadth First Search to Determine the Depth of the Nodes in a Binary Tree<\/a><\/span><\/b>\n<\/p>\n<p>\n\t<b><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\" rel=\"attachment wp-att-1615 noopener noreferrer\" target=\"_blank\">Preorder Traversal of a Binary Tree<\/a><\/span><\/b>\n<\/p>\n<p>\n\t&nbsp;\n<\/p>\n<p>\n\t<b><span style=\"font-size: 14px\"><span style=\"font-family: arial,helvetica,sans-serif\"><strong>Module 7: Binary Search Trees<\/strong><\/span><\/span><\/b>\n<\/p>\n<p>\n\t<b><span style=\"font-size: 14px\"><strong>Code 1: <\/strong><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2017\/08\/7-1-cpp-BinarySearchTreeImplementation.pdf\" rel=\"attachment wp-att-1615 noopener noreferrer\" target=\"_blank\">Construction of a Binary Search Tree (Input: Sorted Array of Integers)<\/a><\/span><\/b>\n<\/p>\n<p>\n\t<b><span style=\"font-size: 14px\"><strong>Code 2: <\/strong><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2017\/08\/7-2-cpp-SelectionSort.pdf\" rel=\"attachment wp-att-1615 noopener noreferrer\" target=\"_blank\">Selection Sort<\/a><\/span><\/b>\n<\/p>\n<p>\n\t<b><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\" rel=\"attachment wp-att-1615 noopener noreferrer\" target=\"_blank\">Construction of a Binary Search Tree (Input: Randomly Generated Array of Integers)<\/a><\/span><\/b>\n<\/p>\n<p>\n\t<b><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\" rel=\"attachment wp-att-1615 noopener noreferrer\" target=\"_blank\">Searching for a Key in a Binary Search Tree<\/a><\/span><\/b>\n<\/p>\n<h3>\n\t<b><a name=\"LectureCodeJava\"><\/a>Lecture Code (Java)<\/b><br \/>\n<\/h3>\n<p>\n\t<b><span style=\"font-family: arial,helvetica,sans-serif\"><strong>Module 2: List ADT<\/strong><\/span><\/b>\n<\/p>\n<p>\n\t<b><strong>Code 1: <\/strong><span style=\"font-size: 14px\"><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2017\/08\/1-java-StaticListArray.pdf\" rel=\"attachment wp-att-1624 noopener noreferrer\" target=\"_blank\">Static List Implementation using Arrays<\/a><\/span><\/b>\n<\/p>\n<p>\n\t<b><strong>Code 2: <\/strong><span style=\"font-size: 14px\"><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2017\/08\/2-java-DynamicListArray.pdf\" rel=\"attachment wp-att-1625 noopener noreferrer\" target=\"_blank\">Dynamic List Implementation using Arrays<\/a><\/span><\/b>\n<\/p>\n<p>\n\t<b><strong>Code 3: <\/strong><span style=\"font-size: 14px\"><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2017\/08\/2-3-java-SinglyLinkedList.pdf\" rel=\"attachment wp-att-1648 noopener noreferrer\" target=\"_blank\">Singly Linked List<\/a><\/span><\/b>\n<\/p>\n<p>\n\t<b><strong>Code 4: <\/strong><span style=\"font-size: 14px\"><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2017\/08\/4-java-arrayRecursive.pdf\" rel=\"attachment wp-att-1627 noopener noreferrer\" target=\"_blank\">Recursion and Random Number Generation<\/a><\/span><\/b>\n<\/p>\n<p>\n\t<b><strong>Code 5: <\/strong><span style=\"font-size: 14px\"><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2017\/08\/5-java-ReverseSinglyLinkedList.pdf\" rel=\"attachment wp-att-1628 noopener noreferrer\" target=\"_blank\">Reversing a Singly Linked List<\/a><\/span><\/b>\n<\/p>\n<p>\n\t&nbsp;\n<\/p>\n<p>\n\t<b><span style=\"font-family: arial,helvetica,sans-serif\"><strong>Module 3: Stack ADT<\/strong><\/span><\/b>\n<\/p>\n<p>\n\t<b><span style=\"font-size: 14px\"><strong>Code 1: <\/strong><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2017\/08\/3-1-java-DynamicArrayBasedStack.pdf\" rel=\"attachment wp-att-1615 noopener noreferrer\" target=\"_blank\">Dynamic Array based Stack<\/a><\/span><\/b>\n<\/p>\n<p>\n\t<b><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\" rel=\"attachment wp-att-1616 noopener noreferrer\" target=\"_blank\">Doubly Linked List based Stack<\/a><\/span><\/b>\n<\/p>\n<p>\n\t<b><strong>Code 3: <\/strong><span style=\"font-size: 14px\"><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2017\/08\/3-3-java-stringProcessing.pdf\" rel=\"attachment wp-att-1647 noopener noreferrer\" target=\"_blank\">Example to Illustrate String Processing in Java<\/a><\/span><\/b>\n<\/p>\n<p>\n\t<b><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\" rel=\"attachment wp-att-1621 noopener noreferrer\" target=\"_blank\">Using Stack to Check for Parenthesis Balance<\/a><\/span><\/b>\n<\/p>\n<p>\n\t<b><strong>Code 5: <\/strong><span style=\"font-size: 14px\"><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2017\/08\/3-5-java-stringTokenizing.pdf\" rel=\"attachment wp-att-1623 noopener noreferrer\" target=\"_blank\">Example to Illustrate String Tokenizing in Java<\/a><\/span><\/b>\n<\/p>\n<p>\n\t<b><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\" rel=\"attachment wp-att-1623 noopener noreferrer\" target=\"_blank\">Evaluation of an Expression in PostFix Format using Stack<\/a><\/span><\/b>\n<\/p>\n<p>\n\t&nbsp;\n<\/p>\n<p>\n\t<b><span style=\"font-size: 14px\"><span style=\"font-family: arial,helvetica,sans-serif\"><strong>Module 4: Queue ADT<\/strong><\/span><\/span><\/b>\n<\/p>\n<p>\n\t<b><span style=\"font-size: 14px\"><strong>Code 1: <\/strong><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2017\/08\/4-1-java-DynamicArrayBasedQueue.pdf\" rel=\"attachment wp-att-1615 noopener noreferrer\" target=\"_blank\">Dynamic Array based Queue<\/a><\/span><\/b>\n<\/p>\n<p>\n\t<b><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\" rel=\"attachment wp-att-1616 noopener noreferrer\" target=\"_blank\">Doubly Linked List based Queue<\/a><\/span><\/b>\n<\/p>\n<p>\n\t&nbsp;\n<\/p>\n<p>\n\t<b><span style=\"font-size: 14px\"><span style=\"font-family: arial,helvetica,sans-serif\"><strong>Module 5: Dictionary ADT: Hashtable<\/strong><\/span><\/span><\/b>\n<\/p>\n<p>\n\t<b><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\" rel=\"attachment wp-att-1615 noopener noreferrer\" target=\"_blank\">Singly Linked List-based Implementation of Hashtable<\/a><\/span><\/b>\n<\/p>\n<p>\n\t<b><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\" rel=\"attachment wp-att-1615 noopener noreferrer\" target=\"_blank\">Use of Hashtable to Determine whether two Integer Sequences are Permutations of each other<\/a><\/span><\/b>\n<\/p>\n<p>\n\t<b><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\" rel=\"attachment wp-att-1615 noopener noreferrer\" target=\"_blank\">Use of Hashtable to Print the Unique Elements in an Array<\/a><\/span><\/b>\n<\/p>\n<p>\n\t<b><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\" rel=\"attachment wp-att-1615 noopener noreferrer\" target=\"_blank\">Use of Hashtable to Determine the Union (with unique elements) of Two Linked Lists (that may have duplicates)<\/a><\/span><\/b>\n<\/p>\n<p>\n\t<b><span style=\"font-size: 14px\"><span style=\"font-family: arial,helvetica,sans-serif\"><strong>Module 6: Binary Trees<\/strong><\/span><\/span><\/b>\n<\/p>\n<p>\n\t<b><span style=\"font-size: 14px\"><strong>Code 1: <\/strong><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2017\/08\/6-1-java-fileRead.pdf\" rel=\"attachment wp-att-1615 noopener noreferrer\" target=\"_blank\">To Read Text from a File<\/a><\/span><\/b>\n<\/p>\n<p>\n\t<b><span style=\"font-size: 14px\"><strong>Code 2: <\/strong><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2017\/08\/6-2-java-BinaryTreeImplementation.pdf\" rel=\"attachment wp-att-1615 noopener noreferrer\" target=\"_blank\">Implementation of Binary Trees<\/a><\/span><\/b>\n<\/p>\n<p>\n\t<b><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\" rel=\"attachment wp-att-1615 noopener noreferrer\" target=\"_blank\">Use of Breadth First Search to Determine the Depth of the Nodes in a Binary Tree<\/a><\/span><\/b>\n<\/p>\n<p>\n\t<b><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\" rel=\"attachment wp-att-1615 noopener noreferrer\" target=\"_blank\">Preorder Traversal of a Binary Tree<\/a><\/span><\/b>\n<\/p>\n<p>\n\t&nbsp;\n<\/p>\n<p>\n\t<b><span style=\"font-size: 14px\"><span style=\"font-family: arial,helvetica,sans-serif\"><strong>Module 7: Binary Search Trees<\/strong><\/span><\/span><\/b>\n<\/p>\n<p>\n\t<b><span style=\"font-size: 14px\"><strong>Code 1: <\/strong><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2017\/08\/7-1-java-BinarySearchTreeImplementation.pdf\" rel=\"attachment wp-att-1615 noopener noreferrer\" target=\"_blank\">Construction of a Binary Search Tree (Input: Sorted Array of Integers)<\/a><\/span><\/b>\n<\/p>\n<p>\n\t<b><span style=\"font-size: 14px\"><strong>Code 2: <\/strong><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2017\/08\/7-2-java-SelectionSort.pdf\" rel=\"attachment wp-att-1615 noopener noreferrer\" target=\"_blank\">Selection Sort<\/a><\/span><\/b>\n<\/p>\n<p>\n\t<b><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\" rel=\"attachment wp-att-1615 noopener noreferrer\" target=\"_blank\">Construction of a Binary Search Tree (Input: Randomly Generated Array of Integers)<\/a><\/span><\/b>\n<\/p>\n<p>\n\t<b><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\" rel=\"attachment wp-att-1615 noopener noreferrer\" target=\"_blank\">Searching for a Key in a Binary Search Tree<\/a><\/span><\/b>\n<\/p>\n<p>\n\t&nbsp;\n<\/p>\n<h3>\n\t<b><a name=\"ProjDesc\"><\/a>Project Descriptions<\/b><br \/>\n<\/h3>\n<p>\n\t<b><span style=\"font-size: 14px\"><strong>Project 1 (Due on Sep. 11th, 11.59 PM): <\/strong><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2018\/08\/CSC228-01-Fall2018-Project-1-List-DynamicArray.pdf\" rel=\"attachment wp-att-1615 noopener noreferrer\" target=\"_blank\">Algorithm Design and Time Complexity Analysis for Operations on the Dynamic Array Implementation of the List ADT<\/a><\/span><\/b>\n<\/p>\n<p>\n\t<strong>See Canvas for the code<\/strong>\n<\/p>\n<p>\n\t&nbsp;\n<\/p>\n<p>\n\t<b><span style=\"font-size: 14px\"><strong>Project 2 (Due on Sep. 18th, 11.59 PM): <\/strong><\/span><\/b><span style=\"font-size:14px\"><strong><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2018\/08\/CSC228-Fall2018-Project-2-LinkedList-UniqueMerger.pdf\" rel=\"attachment wp-att-2400\" target=\"_blank\">Implementation of the Merge List Function (for Merger of Unique Elements) for Singly Linked List and the Time Complexity Analysis<\/a><\/strong><\/span>\n<\/p>\n<p>\n\t<strong>See Canvas for the code<\/strong>\n<\/p>\n<p>\n\t&nbsp;\n<\/p>\n<p>\n\t<b><span style=\"font-size: 14px\"><strong>Project 3 (Due on Sep. 25th, 11.59 PM): <\/strong><\/span><\/b><strong><span style=\"font-size:14px\"><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2018\/08\/CSC228-Fall2018-Project-3-Stack-SinglyLinkedList.pdf\" rel=\"attachment wp-att-2403\" target=\"_blank\">Implementation of the Stack ADT using Singly Linked List and the Time Complexity Analysis of the Push and Pop Operations<\/a><\/span><\/strong>\n<\/p>\n<p>\n\t<strong>See Canvas for the code<\/strong>\n<\/p>\n<p>\n\t&nbsp;\n<\/p>\n<p>\n\t<b><span style=\"font-size: 14px\"><strong>Project 4 (Due on Oct. 8th, 11.59 PM): <\/strong><\/span><\/b><strong><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2018\/08\/CSC228-01-Fall2018-Project-4-Stack-NextGreaterElement-Upd.pdf\" rel=\"attachment wp-att-2425\" target=\"_blank\">Design and Implementation of an Algorithm to Find the Next Greater Element of the Elements in an Array in &Theta;(n) Time<\/a><\/strong>\n<\/p>\n<p>\n\t<strong>See Canvas for the code and a help video<\/strong>\n<\/p>\n<p>\n\t&nbsp;\n<\/p>\n<p>\n\t<b><span style=\"font-size: 14px\"><strong>Project 5 (Due on Oct. 9th, 11.59 PM): <\/strong><\/span><\/b><strong><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2018\/08\/CSC228-Fall2018-Project-5-Queue-Stack-based-Implementation.pdf\" rel=\"attachment wp-att-2428\" target=\"_blank\">Stack-based Implementation of Queue<\/a><\/strong>\n<\/p>\n<p>\n\t<strong>See Canvas for the code<\/strong>\n<\/p>\n<p>\n\t&nbsp;\n<\/p>\n<p>\n\t<b><span style=\"font-size: 14px\"><strong>Project 6 (Due on Oct. 16th, 11.59 PM): <\/strong><\/span><\/b><strong><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2018\/08\/CSC228-Fall2018-Project-6-HashtableSize-AverageInsertionTime.pdf\" rel=\"attachment wp-att-2458\" target=\"_blank\">Hash table Tradeoff Analysis: Average Insertion Time vs. Load Imbalance Index<\/a><\/strong>\n<\/p>\n<p>\n\t<strong>See Canvas for the code<\/strong>\n<\/p>\n<p>\n\t&nbsp;\n<\/p>\n<p>\n\t<b><span style=\"font-size: 14px\"><strong>Project 7 (Due on Oct. 23rd, 11.59 PM): <\/strong><\/span><\/b><strong><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2018\/08\/CSC228-Fall2018-Project-7-Complete-BST-Check.pdf\" rel=\"attachment wp-att-2476\" target=\"_blank\">Binary Tree: Checking for Complete Binary Tree and Binary Search Tree<\/a><\/strong>\n<\/p>\n<p>\n\t<strong>See Canvas for the code<\/strong>\n<\/p>\n<p>\n\t&nbsp;\n<\/p>\n<p>\n\t<b><span style=\"font-size: 14px\"><strong>Project 8 (Due on Oct. 30th, 11.59 PM): <\/strong><\/span><\/b><strong><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2018\/08\/CSC228-Fall2018-Project-8-BST-LowestCommonAncestor.pdf\" rel=\"attachment wp-att-2479\" target=\"_blank\">Project 8: Binary Search Tree: Lowest Common Ancestor Node<\/a><\/strong>\n<\/p>\n<p>\n\t<strong>See Canvas for the code<\/strong>\n<\/p>\n<p>\n\t&nbsp;\n<\/p>\n<p>\n\t<b><span style=\"font-size: 14px\"><strong>Project 9 (Due on Nov. 6th, 11.59 PM): <\/strong><\/span><\/b><strong><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2018\/08\/CSC228-Fall2018-Project-9-IterativeProcedure-PreOrderTraversal.pdf\" rel=\"attachment wp-att-2509\" target=\"_blank\">Project 9: Binary Tree: Design and Implementation of an Iterative Algorithm (using the Stack ADT) to do a Preorder Traversal of the Vertices<\/a><\/strong>\n<\/p>\n<p>\n\t<strong>See Canvas for the code<\/strong>\n<\/p>\n<p>\n\t&nbsp;\n<\/p>\n<p>\n\t<b><span style=\"font-size: 14px\"><strong>Project 10 (Due on Nov. 13th, 11.59 PM): <\/strong><\/span><\/b><strong><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2018\/08\/CSC228-Fall-2018-Project-10-Graph-NodeDegree.pdf\" rel=\"attachment wp-att-2511\" target=\"_blank\">Project 10: Degree Distribution of the Vertices in a Graph<\/a><\/strong>\n<\/p>\n<p>\n\t<a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2018\/08\/Pr10_Graph_NodeDegree_AssignedProject.pdf\" rel=\"attachment wp-att-2520\" target=\"_blank\">Startup Code (PDF)<\/a>\n<\/p>\n<p>\n\t<strong>See Canvas for the code<\/strong>\n<\/p>\n<p>\n\t&nbsp;\n<\/p>\n<h3>\n\t<b><a id=\"QuizSolutions\" name=\"QuizSolutions\"><\/a>Quizzes and Exams<\/b><br \/>\n<\/h3>\n<p>\n\t<b><span style=\"font-size: 14px\"><strong>Quiz 2 (Due on Sep. 27th, 11.59 PM): <\/strong><\/span><\/b><strong><span style=\"font-size:14px\"><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2018\/08\/CSC228-Fall2018-Quiz-2-TakeHome-DynamicArray-Resize.pdf\" rel=\"attachment wp-att-2405\" target=\"_blank\">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><\/strong>\n<\/p>\n<p>\n\t<strong>See Canvas for the code<\/strong>\n<\/p>\n<p>\n\t&nbsp;\n<\/p>\n<p>\n\t<span style=\"font-size:14px\"><strong><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2018\/08\/CSC228-Fall2018-Exam-1.pdf\" rel=\"attachment wp-att-2412\" target=\"_blank\">Exam-1<\/a><\/strong><\/span><b><span style=\"font-size: 14px\"><strong> (Due on Oct. 4th, 11.59 PM)<\/strong><\/span><\/b>\n<\/p>\n<p>\n\t<strong>See Canvas for the code<\/strong>\n<\/p>\n<p>\n\t<b>&nbsp;<\/b>\n<\/p>\n<p>\n\t<b><span style=\"font-size: 14px\"><strong>Quiz 3 (Due on Oct. 11th, 11.59 PM): <\/strong><\/span><\/b><strong><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2018\/08\/CSC228-Fall2018-Quiz-3-TakeHome-Stacks-ParenthesisEvaluation-PreFix-Expression.pdf\" rel=\"attachment wp-att-2430\" target=\"_blank\">Determination of Maximum Depth of Nested Parentheses in an Expression and Evaluation of an Expression in Pre-fix Format<\/a><\/strong>\n<\/p>\n<p>\n\t<strong>See Canvas for the code<\/strong>\n<\/p>\n<p>\n\t&nbsp;\n<\/p>\n<p>\n\t<b><span style=\"font-size: 14px\"><strong>Quiz 4 (Due on Oct. 18th, 11.59 PM): <\/strong><\/span><\/b><strong><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2018\/08\/CSC228-Fall2018-Quiz-4-HeightBalancedBinaryTrees.pdf\" rel=\"attachment wp-att-2460\" target=\"_blank\">Height-Balanced Binary Trees<\/a><\/strong>\n<\/p>\n<p>\n\t<strong>See Canvas for the code<\/strong>\n<\/p>\n<p>\n\t&nbsp;\n<\/p>\n<p>\n\t<b><span style=\"font-size: 14px\"><strong>Quiz 5 (Due on Oct. 25th, 11.59 PM): <\/strong><\/span><\/b><strong><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2018\/08\/CSC228-Fall2018-Quiz-5-Avg-Number-of-Comparisons-SuccSearch-BST.pdf\" rel=\"attachment wp-att-2477\" target=\"_blank\">Binary Search Tree: Average Number of Comparisons for a Successful Search<\/a><\/strong>\n<\/p>\n<p>\n\t<strong>See Canvas for the code<\/strong>\n<\/p>\n<p>\n\t&nbsp;\n<\/p>\n<p>\n\t<strong><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2018\/08\/CSC228-Fall2018-Exam-2-TakeHome.pdf\" rel=\"attachment wp-att-2516\" target=\"_blank\">Exam-2<\/a><\/strong><b><span style=\"font-size: 14px\"><strong> (Due on Nov. 8th, 2.30 PM hardcopy to be submitted in-class)<\/strong><\/span><\/b>\n<\/p>\n<p>\n\t&nbsp;\n<\/p>\n<p>\n\t<b><span style=\"font-size: 14px\"><strong>Quiz 7 (Due on Nov. 15th, 11.59 PM): <\/strong><\/span><\/b><strong><a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2018\/08\/CSC228-Fall2018-Quiz-7-Graph-BipartiteTest-LevelNumbers.pdf\" rel=\"attachment wp-att-2514\" target=\"_blank\">Quiz 7: Breadth First Search on a Graph: Test for Bipartivity<\/a><\/strong>\n<\/p>\n<p>\n\t<a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2018\/08\/Q7_BFS_Code.pdf\" rel=\"attachment wp-att-2522\" target=\"_blank\">Startup Code (PDF)<\/a>\n<\/p>\n<p>\n\t<strong>See Canvas for the code<\/strong>\n<\/p>\n<p>\n\t&nbsp;\n<\/p>\n<p>\n\t<b>&nbsp;<\/b>\n<\/p>\n<p>\n\t<b>&nbsp;<\/b>\n<\/p>\n<h3>\n\t<b><a name=\"TestSchedules\"><\/a>Quiz, Exam and Project Schedules<\/b><br \/>\n<\/h3>\n<p>\n\t<a href=\"https:\/\/www.jsums.edu\/nmeghanathan\/csc228-fall2018\/csc228-fall2018-schedule\/\" rel=\"attachment wp-att-2349\"><img decoding=\"async\" loading=\"lazy\" alt=\"\" class=\"aligncenter size-full wp-image-2349\" height=\"427\" src=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2018\/08\/CSC228-Fall2018-Schedule.jpg\" width=\"834\" srcset=\"https:\/\/www.jsums.edu\/nmeghanathan\/files\/2018\/08\/CSC228-Fall2018-Schedule.jpg 834w, https:\/\/www.jsums.edu\/nmeghanathan\/files\/2018\/08\/CSC228-Fall2018-Schedule-300x154.jpg 300w, https:\/\/www.jsums.edu\/nmeghanathan\/files\/2018\/08\/CSC228-Fall2018-Schedule-768x393.jpg 768w, https:\/\/www.jsums.edu\/nmeghanathan\/files\/2018\/08\/CSC228-Fall2018-Schedule-624x319.jpg 624w\" sizes=\"(max-width: 834px) 100vw, 834px\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Exam 3 (IN-CLASS; on Nov. 29th @ 2.30 PM): OPEN NOTES. Reading List Exam 2 (Take Home: Due on Nov. 8th) posted. Projects 9-10 posted Quiz 7 (Take Home) posted (Due on Nov. 15th, 11.59 PM) &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; Syllabus Teaching Assistant Lecture Slides Lecture Code (C++) Project Descriptions Quizzes and Exams Quiz, Exam and Project Schedules [&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\/2326"}],"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=2326"}],"version-history":[{"count":52,"href":"https:\/\/www.jsums.edu\/nmeghanathan\/wp-json\/wp\/v2\/pages\/2326\/revisions"}],"predecessor-version":[{"id":2542,"href":"https:\/\/www.jsums.edu\/nmeghanathan\/wp-json\/wp\/v2\/pages\/2326\/revisions\/2542"}],"wp:attachment":[{"href":"https:\/\/www.jsums.edu\/nmeghanathan\/wp-json\/wp\/v2\/media?parent=2326"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}