Browse Source

Updates to software engineering task list - adding chapter questions for sections.

master
Charles Reid 5 years ago
parent
commit
4316a42128
  1. 99
      TODOSoftwareEngineering.md

99
TODOSoftwareEngineering.md

@ -12,12 +12,12 @@
- Wiki notes:
- [https://charlesreid1.com/wiki/Algorithm_complexity](https://charlesreid1.com/wiki/Algorithm_complexity)
- End of chapter questions: both
- [https://charlesreid1.com/wiki/Algorithmic_Analysis_of_Sort_Functions](https://charlesreid1.com/wiki/Algorithmic_Analysis_of_Sort_Functions)
- [https://charlesreid1.com/wiki/Algorithmic_Analysis_of_Substring_Pattern_Matching](https://charlesreid1.com/wiki/Algorithmic_Analysis_of_Substring_Pattern_Matching)
- [https://charlesreid1.com/wiki/Algorithmic_Analysis_of_Matrix_Multiplication](https://charlesreid1.com/wiki/Algorithmic_Analysis_of_Matrix_Multiplication)
- sorting functions: [https://charlesreid1.com/wiki/Algorithmic_Analysis_of_Sort_Functions](https://charlesreid1.com/wiki/Algorithmic_Analysis_of_Sort_Functions)
- substring patterns: [https://charlesreid1.com/wiki/Algorithmic_Analysis_of_Substring_Pattern_Matching](https://charlesreid1.com/wiki/Algorithmic_Analysis_of_Substring_Pattern_Matching)
- matrix multiplication: [https://charlesreid1.com/wiki/Algorithmic_Analysis_of_Matrix_Multiplication](https://charlesreid1.com/wiki/Algorithmic_Analysis_of_Matrix_Multiplication)
- Code:
- [https://charlesreid1.com:3000/cs/java/src/master/algorithm_complexity](https://charlesreid1.com:3000/cs/java/src/master/algorithm_complexity)
- [https://charlesreid1.com:3000/cs/python/src/master/algorithm_complexity](https://charlesreid1.com:3000/cs/python/src/master/algorithm_complexity)
- Java: [https://charlesreid1.com:3000/cs/java/src/master/algorithm_complexity](https://charlesreid1.com:3000/cs/java/src/master/algorithm_complexity)
- Python: [https://charlesreid1.com:3000/cs/python/src/master/algorithm_complexity](https://charlesreid1.com:3000/cs/python/src/master/algorithm_complexity)
---
@ -27,6 +27,7 @@
- 05/28, 05/29
- Books:
- Goodrich et al: Data Structures and Algorithms in Python
- Goodrich Python focuses on array data structures up front, leaves linked lists to later
- Wiki notes:
- [https://charlesreid1.com/wiki/Arrays/Python](https://charlesreid1.com/wiki/Arrays/Python)
- [https://charlesreid1.com/wiki/Arrays](https://charlesreid1.com/wiki/Arrays)
@ -48,13 +49,17 @@
- 05/29
- Books:
- Goodrich et al: Data Structures and Algorithms in Python
- Goodrich Python focuses on array implementations of stacks and queues, doesn't cover linked structures until after
- Wiki notes:
- [https://charlesreid1.com/wiki/StacksQueues](https://charlesreid1.com/wiki/StacksQueues)
- [https://charlesreid1.com/wiki/StacksQueues/Python](https://charlesreid1.com/wiki/StacksQueues/Python)
- End of chapter questions:
- (none)
- Code:
- [https://charlesreid1.com:3000/cs/python/src/master/stacks-queues-deques/](https://charlesreid1.com:3000/cs/python/src/master/stacks-queues-deques/)
- Python: [https://charlesreid1.com:3000/cs/python/src/master/stacks-queues-deques/](https://charlesreid1.com:3000/cs/python/src/master/stacks-queues-deques/)
- Array-based stack: [https://charlesreid1.com:3000/cs/python/src/master/stacks-queues-deques/stacks/ArrayStack.py](https://charlesreid1.com:3000/cs/python/src/master/stacks-queues-deques/stacks/ArrayStack.py)
- Array-based queue: [https://charlesreid1.com:3000/cs/python/src/master/stacks-queues-deques/queues/ArrayQueue.py](https://charlesreid1.com:3000/cs/python/src/master/stacks-queues-deques/queues/ArrayQueue.py)
- Array-based deque: [https://charlesreid1.com:3000/cs/python/src/master/stacks-queues-deques/deque/ArrayDeque.py](https://charlesreid1.com:3000/cs/python/src/master/stacks-queues-deques/deque/ArrayDeque.py)
---
@ -64,6 +69,7 @@
- 05/29, 05/30
- Books:
- Goodrich et al: Data Structures and Algorithms in Java
- Goodrich Java focuses on linked data structures up front, leaves array-based lists and structures to later
- Wiki notes:
- [https://charlesreid1.com/wiki/Arrays/Java](https://charlesreid1.com/wiki/Arrays/Java)
- [https://charlesreid1.com/wiki/Arrays](https://charlesreid1.com/wiki/Arrays)
@ -73,8 +79,11 @@
- random arrays
- Python list class
- End of chapter questions:
- Goodrich
- (none)
- Caesar Cipher [https://charlesreid1.com/wiki/Arrays/Java/CaesarCipher](https://charlesreid1.com/wiki/Arrays/Java/CaesarCipher)
- Fisher Yates [https://charlesreid1.com/wiki/Arrays/Java/FisherYates](https://charlesreid1.com/wiki/Arrays/Java/FisherYates)
- Python list [https://charlesreid1.com/wiki/Arrays/Java/PythonList](https://charlesreid1.com/wiki/Arrays/Java/PythonList)
- Removing elements
- Code:
- Python-style list in Java: [https://charlesreid1.com:3000/cs/java/src/master/arrays/python-list/PythonList.java](https://charlesreid1.com:3000/cs/java/src/master/arrays/python-list/PythonList.java)
- Usage of the Array data type: [https://charlesreid1.com:3000/cs/java/src/master/arrays](https://charlesreid1.com:3000/cs/java/src/master/arrays)
@ -83,11 +92,13 @@
---
[ ] Linked lists: Java
[X] Linked lists: Java
- Singly linked lists: 05/31
- Circular/doubly linked lists: 06/01
- End of chapter questions: 06/04
- Books:
- Goodrich et al: Data Structures and Algorithms in Java
- Goodrich et al: Data Structures and Algorithms in Java, Chapter 3
- Goodrich Java focuses on linked data structures up front and early on, leaves array lists until after stacks and queues.
- Wiki notes:
- [https://charlesreid1.com/wiki/Linked_Lists](https://charlesreid1.com/wiki/Linked_Lists)
- [https://charlesreid1.com/wiki/Linked_Lists](https://charlesreid1.com/wiki/Linked_Lists)
@ -98,8 +109,10 @@
- IntList singly linked list: [https://charlesreid1.com:3000/cs/java/src/master/lists/linked-lists/IntList.java](https://charlesreid1.com:3000/cs/java/src/master/lists/linked-lists/IntList.java)
- TList templated singly linked list: [https://charlesreid1.com:3000/cs/java/src/master/lists/linked-lists/TList.java](https://charlesreid1.com:3000/cs/java/src/master/lists/linked-lists/TList.java)
---
[X] Exceptions in Java
- 05/31
- Java API Docs
@ -108,23 +121,16 @@
- Wiki note:
- [https://charlesreid1.com/wiki/Java/Exceptions](https://charlesreid1.com/wiki/Java/Exceptions)
---
[ ] Advanced Data Structures: Dictionaries, Priority Queues, Binary Trees, Hash Tables
- 06/02, 06/03
- Books:
- Skiena Chapter 3
- Wiki notes:
- [https://charlesreid1.com/wiki/Dictionaries](https://charlesreid1.com/wiki/Dictionaries)
- [https://charlesreid1.com/wiki/Priority_Queues](https://charlesreid1.com/wiki/Priority_Queues)
- End of chapter questions:
- Skiena chapter 3 question solutions on wiki
Git code:
---
[X] Stacks and Queues: Java
- 06/03
- Books:
- Goodrich et al: Data Structures and Algorithms in Java, Chapter 6
- Goodrich Java focuses on implementing stacks and queues using linked lists, no focus on implementing them using arrays.
- It is pretty time consuming to do both, so it is understandable why he ends up picking one or the other (array-based or linked list-based).
- Wiki notes:
- [http://charlesreid1.com/wiki/StacksQueues/Java](http://charlesreid1.com/wiki/StacksQueues/Java)
- [http://charlesreid1.com/wiki/StacksQueues/Java/ArrayStack](http://charlesreid1.com/wiki/StacksQueues/Java/ArrayStack)
@ -151,6 +157,52 @@ Git code:
- Using Makefiles, stopwatch, framework with scripts
---
[ ] Linked lists: Python
- Singly liked lists: 06/04
- Books:
- Goodrich Python Chapter 7
- Goodrich Python neglects linked data structures until later. Linked lists are left for after stacks and queues.
- Wiki notes:
- [https://charlesreid1.com/wiki/Linked_Lists](https://charlesreid1.com/wiki/Linked_Lists)
- [https://charlesreid1.com/wiki/Linked_Lists/Python](https://charlesreid1.com/wiki/Linked_Lists/Python)
- [https://charlesreid1.com/wiki/Linked_Lists/Python/Single](https://charlesreid1.com/wiki/Linked_Lists/Python/Single)
- End of chapter questions:
- Code:
---
[ ] Advanced Data Structures: Dictionaries, Priority Queues, Binary Trees, Hash Tables
- 06/02, 06/03
- Books:
- Skiena Chapter 3
- Wiki notes:
- [https://charlesreid1.com/wiki/Dictionaries](https://charlesreid1.com/wiki/Dictionaries)
- [https://charlesreid1.com/wiki/Priority_Queues](https://charlesreid1.com/wiki/Priority_Queues)
- End of chapter questions:
- Skiena chapter 3 question solutions on wiki
Git code:
(This ended up being quite a jump in a different direction.
Much more practical focus on algorithms, only the most useful data structures,
only the core of each data structure, basic operations and big-O analysis.)
---
[ ] Algorithms: Verifying Big-O Operations in Java
- First pass: linked list O(1): 06/04
- Wiki note:
- [https://charlesreid1.com/wiki/Linked_Lists/Java/Timing](https://charlesreid1.com/wiki/Linked_Lists/Java/Timing)
@ -159,7 +211,6 @@ Git code:
[ ] Linked lists: Python
[ ] Dictionaries/Maps
@ -169,7 +220,7 @@ Git code:
[ ] Trees: heap trees
[ ] Trees: priority queues
[ ] Trees: balanced search trees
[ ] trees: red black trees
[ ] Trees: red black trees
[ ] Trees: tree traversal
[ ] Graphs: directed and undirected

Loading…
Cancel
Save