Programming
Basic UNIX Stuff
awkgrepsedfind
Regular Expressions (#)
This is your friend. Play with it, learn from it.
- Quantification -
*?+{..} - Delimiters
- Character Classes
- Backreferences
- Greediness and Laziness
Python
- Conditionals and Ternaries
- Loops:
breakandcontinue - Data Structures (and Big-O for each!)
- List Comprehensions
- Lists:
map,filter, andreduce - Tuples
- Sets
- Hash Maps/Dictionaries
- Functions
- Recursion
- Decorators/Closures
- I/O
- Reading and Writing Files
- De/Serialization of JSON files
- Vectorized Operations and Efficiency Considerations
- Scientific Python
- Draw a line plot
- Draw a histogram
- Dataframes: Sorting, Filtering. Get a Pandas cheatsheet.
- Review a NumPy cheatsheet.
- Dataclasses
Object-Oriented Programming 🤢
- Objects and Classes (and Singletons!)
- Public, Protected, Private, Static methods and attributes
- Inheritance, Polymorphism, Encapsulation
What they are and problems with each.
Relational Databases
This site is your friend. Do everything there and you'll know most of what you'll need. Making friends with a DBA is (I'm assuming) outside the scope of this course.
- Language (
SELECT/WHERE/LIKEGROUP BYORDER BYASCDESC) - Various Joins (
INNEROUTERLEFTRIGHT) - Functions (
MINMAXSUMCOUNTCONCATENATE) - Indexes: single and multi-column. Types of Indexes (e.g. inverted B-trees)
- Keys: Primary, Secondary, Foreign
- Schemas, Fields/Columns, lingo
- Fuzziness
- Subqueries
Git
- Know that you're fundamentally dealing with a content-addressible system.
- 80% of porcelain commands.
- Refs,
HEAD - Rebasing versus Merging
Other
- Intro to the Unified Medical Language System (UMLS)
- File formats and their strengths and weaknesses (JSON, CSV, XML). De/Serialization. Columnar compression.