The following table maps course session dates, lesson topics, text references, and content links for CIT-245: Data Structures and Programming C++
This course is held via live zoom connection with Eric Darsow at the Technology Rediscovery shop in Swissvale, PA.
MtngID: 614 961 8122
Ph:+1 646-558-8656
Course | FA20 Est. | Wk. | Sess. | Session description | Resources | Language objectives | Out-of-class work |
---|---|---|---|---|---|---|---|
CIT-245 | MON 17-AUG-2020 |
1 | 1 | Syllabus and course overview |
For week 1, please choose an area of interest to you, choose a specific example of that area--such as the settings for your favorite game, your movie collection, the way folks are organized at your work, etc. Use the symbols on our data structures posters to create your own diagram of your chosen object/process. Remember, we might have nested structures, such as a list of smaller lists, or a tree filled with lists of items within each node. Take a photo/scan your diagram and upload it to the module 1 folder in our shared drive linked below, name your file your FIRST NAME only. |
||
CIT-245 | WED 19-AUG-2020 |
2 |
Deepening basic knowledge of Data StructuresCreate customized notes on each of our core structures on the buttons inside this module |
||||
CIT-245 | MON 24-AUG-2020 |
2 | 1 |
|
|||
CIT-245 | WED 26-AUG-2020 |
2 |
|
||||
CIT-245 | MON 31-AUG-2020/td> | 3 | 1 |
List and Map project
|
|
||
CIT-245 | WED 2-SEP-2020 |
2 | |||||
CIT-245 | MON MON-7SEP-2020 |
4 | 1 | NO CLASS-LABOR DAY |
Class-based C++ |
Please have your team optimizer in a fully-baked form by Sunday at Morning light for instructor review and planing for our next phase of the course. |
|
CIT-245 | WED 19-FEB-2020 |
2 |
Class-based C++Stroustrup Chapter 9: Classes, etc. is our guide for this session |
||||
CIT-245 | MON 14-SEP-2020 |
5 | 1 |
References and pointers |
Exploring function call essentials in chapter 8, sections 4 and 5 |
Write code that demonstrate the use of pointers to objects on the free store |
|
CIT-245 | WED 16-SEP-2020 |
2 |
Finish our pass-by-pointer example for functions Begin algorithms |
||||
CIT-245 | MON 21-SEP-2020 |
6 | 1 |
Object design and algorithm intro |
Create a model of an object in C++ with public and private members and a constructor Conceptualize a sorting algorithm as a logical sequence of steps |
STEP 1: Create a class representing your chosen collectible object that includes private members and public accessor methods and a constructor STEP 2: Use your class in a simple program and create a vector of several of your objects for use in our sorting exercise next week. STEP 3: Demonstrate as we did in class on Wednesay, that you in fact have multiples different objects with different member variables. STEP 4: Begin the design process by tinkering with the bubble sort visualization linked at left, and relying only on pseudocode, not other folks' C++ IDEA: Investigate (try in documentation, not stack overflow) how to randomly create values for the various objects in your vector. For Monday: please setup an account on GitHub.com |
|
CIT-245 | WED 23-SEP-2020 |
2 | |||||
CIT-245 | MON 28-SEP-2020 |
7 | 1 |
Video recording of sesionImplementing Bubble sortGit essentials |
|
||
CIT-245 | WED 30-SEP-2020 |
2 |
Session recording: gitPeer help recording: Debuggin |
||||
CIT-245 | MON 5-OCT-2020 |
8 | 1 |
Session recording |
Tree AlgorithmsPeer project sharingMid-term grades & benchmarking |
For Monday, build three trees like Eric's Nuclea reactors, randomly choosing a root node and record how many visits in your tree are required to find a pre-selected random node. Attempt to diagram out a in-order walk of one of your trees, using the recursive algorithm in the Corman text posted in Resources of our tree module Take a photo of your work, and upload to one-drive. |
|
CIT-245 | WED 7-OCT-2020 |
2 |
Session Recording |
||||
CIT-245 | MON 12-OCT-2020 |
9 | 1 |
Tree traversals in C++ |
Monday's Seession RecordingTopics in video: Creating a TreeNode class; Building a tree and linking nodes manually; Encoding the in-order traversal algorithm Modules |
|
For wed, 14 Oct, Please have your custom tree encoded in at least 10 nodes--manually building each node and making the links from parent to child and child to parent Conduct an in-order walk of your tree and demonstrate that it works Try coding up a function which can take in a root of a tree and a node to insert, and it will carry out the locating and linking of the new node. For Monday, 19-OCT: If you haven't gotten traversal to work, iron that out. Make a good-faith effort at insertion function, but if you get stuck, that's fine. We'll plan on Wrapping up Tree traverse, insert, and delete for Wed 21-OCT, or Mon 26-OCT |
CIT-245 | WED 14-OCT-2020 |
2 | |||||
CIT-245 | MON 19-OCT-2020 |
10 | 1 |
Insert & delete algos continued |
19-OCT Session recording21-OCT Session recordingInsert/delete continuedInstall MinGWInstall Eclipse IDEPush code from repl to your githubDocument code in Markdown |
Binary search tree code due Monday 26 OctoberArrive at a fully-baked project, regardless of its level of complexity. Include well-commented code, output screen shots, and a profile written in a readme.md markdown file on git. |
|
CIT-245 | WED 21-OCT-2020 |
2 |
Building a project profile in git |
||||
CIT-245 | MON 26-OCT-2020 |
11 | 1 |
Decision trees conceptual overview and modeling. |
Monday's Session RecordingWednesday's Session Recording
passcode: %t3chnology%
Install git on your local machineCreate a remote repository in github.comOnce your account is setup, create a new repository named something like cit245_Loretta Decision tree readingPlease read through chapter 3, section 3 for Wednesday in the emailed PDF part 1 |
|
|
CIT-245 | WED 28-OCT-2020 |
2 |
Encoding a decision tree in C++ |
||||
CIT-245 | MON 2-NOV-2020 |
12 | 1 |
Problem definition and notation |
Session Recording: MondaySession Recording: Wednesday
passcode: %t3chnology%
|
Describe a simple problem using set notation Encode a problem definition from a sample scenario |
Create a set of state diagrams in a search tree representing the possible ways of solving the Interstellar problem using Vacuum world as a guide and your reading's description of problem definitions. |
CIT-245 | WED 4-NOV-2020 |
2 | |||||
CIT-245 | MON 9-NOV-2020 |
13 | 1 |
Depth-first and breadth-first algorithms |
Session Recording: MondaySession Recording:Wednesday
passcode: %t3chnology%
We worked through a socrative quiz together and dove into depth-first and breadth-first algorithm traversal |
Make an attempt at coding the guts of our expand_node function which takes in a state and returns a set of child nodes containing information about which actions would lead to that node. Build other infrastructure as needed in our SearchTools class. |
|
CIT-245 | WED 11-NOV-2020 |
2 | |||||
CIT-245 | MON 16-NOV-2020 |
14 | 1 |
Session Recording: MondaySession Recording: Wednesday
passcode: %t3chnology%
Search Tree Algos continuedImplementation of search tree algorithm |
|||
CIT-245 | WED 18-NOV-2020 |
2 | |||||
CIT-245 | MON 23-NOV-2020 |
- | - | TURKEY DAY BREAK - NO CLASS ENTIRE WEEK | |||
CIT-245 | WED 25-NOV-2020 |
- | |||||
CIT-245 | MON 30-NOV-2020 |
15 | 1 |
Culminating Project: Coding |
FA20: Session Recording-MondayFA20: Session Recording-WednesdayWe'll form breakout rooms by project choice and Eric will pop into project groups to offer assistance as needed. PointersReview of key pointer concepts from Stroustrup 17.3 |
For Wednesday: Dedicate an hour or so to reviewing pointer fundamentals and consider their use in your project. See Stroustrup Section 17.3: Memory, Addresses, and pointers |
|
CIT-245 | WED 2-DEC-2020 |
2 | |||||
CIT-245 | MON 7-DEC-2020 |
16 | 1 |
Culminating Project: Debugging |
|||
CIT-245 | WED 9-DEC-2020 |
2 |
"FINAL EXAM" Session
Please bring a fully-baked final project ready to share on your repl! |