Introductory and Advanced Concepts in Programming and Computer Science by University Student
Hello! I'm a current student at École 42 in Paris who has been on non-stop exploration of code for the last year. While I'm still learning myself, I feel this is the best time to consolidate what I've learned so far and pass it on.
Learning a programming language is extremely similar to learning a spoken language: sure you will need to rote learn the "grammar" to begin with, but the idea is to automate this syntax so you can focus on expressing your ideas, quickly. That cannot be done until there is a holistic view over the code you exploit, and the architecture of the computer, data and memory. I want to help those who are starting to program feel that "click" when you have a top to bottom perspective on what you’re doing. Once those tools are passed on, you will begin thinking like a programmer.
Having said that, I will adapt to your needs. Are you taking a CS course because you need to? Because this is your passion in life? Because you're looking to land a dev internship? We'll look at your ambitions and the instruction will be catered accordingly to get you on the right path from day one.
Languages of expertise: C, Ruby and Java
We can focus on
Core programming topics : data structures, complexity, classical algorithms (sorting, combinatorics, search), 3D Graphics, interview questions, regular, expressions, UNIX, parallel-computing, recursion, heuristics, best-practices, memory-management, design, optimization, debugging.
Theoretical topics: computability and semantics.
Certain math topics: Matrices, 3D geometry, linear-algebra