From charlesreid1

No edit summary
Line 1: Line 1:
Computer Science: the science of problem-solving with computers (computational devices, computational methods)
Computer Science: the science of computing. Or, the science of problem-solving with computers, computational devices, and computational methods.


=Study Notes=  
=Study Notes=  


See CS study plan repo for more detailed notes: https://charlesreid1.com:3000/cs/study-plan
See CS study plan repo for more detailed notes: https://charlesreid1.com:3000/cs/study-plan
We're focusing on a few different topics:
* Ramping up level of fluency of Java and Python, developing working knowledge of/familiarity with 5-10 languages (git.charlesreid1.com)
* Core software engineering/computer science theory
* Mathematics and numerical computing
* Machine learning


=Topics=
=Topics=
Line 19: Line 13:
[[CS]] list of topics:  
[[CS]] list of topics:  


* [[Algorithm complexity]]
Data Structures
 
Algorithms
 
Mathematics - Combinatorics and Probability
 
Mathematics - Number Theory


* [[Arrays]]
Mathematics - Numerics
** Python - list type - [[Arrays/Python]]
** Java - Arrays class, ArrayList class - [[Arrays/Java]]


* [[Lists]]
Languages
** [[ ArrayLists]] - array-based, continguous allocation of memory
** [[LinkedLists]] - link-based system of organizing memory allocated on the fly
** Java - singly, circularly, doubly linked lists - [[Linked Lists/Java]]
** Python - linked list implementation in Python [[Linked Lists/Python]]
** C - Skiena covers a linked list implementation in C... [[Linked Lists/C]]


* [[StacksQueues]]
===Data Structures===
** Python - implementing array-based stack/queue/deque data type - [[StacksQueues/Python]]
** Java - using built-in stack/queue ADTs, implementing array-based stack/queue/deque type - [[StacksQueues/Java]]
** C - Skiena covers the use of a C linked list to implement a stack/queue in C... [[StacksQueues/C]]
** [[Priority Queues]] are special queues where the items are maintained in a shorted order.


* Skiena Chapter 3 gave a more advanced and succinct introduction to data structures: see [[Advanced Data Structures]]
For polished/digested study guides see: [[Study Guides]]


* [[Dictionaries]], a.k.a. [[Maps]]
Link: https://charlesreid1.com:3000/cs/study-plan/src/master/TODOSoftwareEngineering.md
** Python - dictionaries are built-in types in Python. JSON-like structures, key-value pairs.
** Java - using built-in Map type from Java Collections library allows mapping arbitrary types to other types
** C - Skiena covers the use of C to create a dictionary as well, by using a linked list to implement the interface of a dictionary.


List of major topics (see also: [[Template:DataStructuresFlag]])
* [[Algorithm complexity]]
* [[Arrays]]
* [[Lists]]
* [[StacksQueues]]
* [[Priority Queues]]
* [[Maps]]
* [[Binary Trees]]
* [[Binary Trees]]
** C - again, Skiena covers a C implementation of a binary tree using a linked list type of structure.
* [[Abstract Data Types]] - general classes of data structures
 
===Algorithms===


* Hash Tables - see [[Maps]] or [[Dictionaries]]
===Combinatorics and Probability===


* [[Abstract Data Types]] - general classes of data structures
===Number Theory===


==Numerics==
===Numerics===


Link: https://charlesreid1.com:3000/cs/study-plan/src/master/TODONumerics.md
Link: https://charlesreid1.com:3000/cs/study-plan/src/master/TODONumerics.md
Line 68: Line 63:
* Root Finding
* Root Finding


 
===Languages===





Revision as of 09:18, 10 July 2017

Computer Science: the science of computing. Or, the science of problem-solving with computers, computational devices, and computational methods.

Study Notes

See CS study plan repo for more detailed notes: https://charlesreid1.com:3000/cs/study-plan

Topics

Computer Science

Link: https://charlesreid1.com:3000/cs/study-plan/src/master/TODOSoftwareEngineering.md

CS list of topics:

Data Structures

Algorithms

Mathematics - Combinatorics and Probability

Mathematics - Number Theory

Mathematics - Numerics

Languages

Data Structures

For polished/digested study guides see: Study Guides

Link: https://charlesreid1.com:3000/cs/study-plan/src/master/TODOSoftwareEngineering.md

List of major topics (see also: Template:DataStructuresFlag)

Algorithms

Combinatorics and Probability

Number Theory

Numerics

Link: https://charlesreid1.com:3000/cs/study-plan/src/master/TODONumerics.md

Following the content of Numerical Recipes - algorithmic analysis, &c.

Numerics topics corresponding to particular chapters:

  • Linear algebra
  • Interpolation and Extrapolation
  • Root Finding

Languages

Study Resources

Some nice awesome lists:

Meta:

Programming tests:

Growth hacking:


Flags

Computer Science





See also:

Data Structures
































Algorithms







CS/OldPage