(affiliated with) Women Who Code Algorithms Study Group: Difference between revisions

From Noisebridge
Jump to navigation Jump to search
No edit summary
Line 11: Line 11:
* Github notes: https://github.com/romyilano/AlgorithmsCoed
* Github notes: https://github.com/romyilano/AlgorithmsCoed
* We meet Sundays 2pm-4pm  
* We meet Sundays 2pm-4pm  
== Theory of Education ==
There is a lot of theory of education but when the truth is told you really should spend at least 60% of your time doing rote memorization. A lot of the best algorithms are not inuitive at all (besides the much maligned bubble sort and selection sort) and were developed by genius phds who focused only on -that- for many years. so don't beat yourself up too bad.
memorizing the basics makes learning progressively more challenging algorithms intuitive. most people spend far too much time problem solving and not enough time doing memorization which is why so many people end up feeling stupid.


== Languages ==
== Languages ==

Revision as of 17:57, 26 July 2015

AlgorithmTwosComplement.jpg
Linkedlists.jpg

We are not directly affiliated with Women Who Code but we love them because they are awesome!

This is open to men as well.

Theory of Education

There is a lot of theory of education but when the truth is told you really should spend at least 60% of your time doing rote memorization. A lot of the best algorithms are not inuitive at all (besides the much maligned bubble sort and selection sort) and were developed by genius phds who focused only on -that- for many years. so don't beat yourself up too bad.

memorizing the basics makes learning progressively more challenging algorithms intuitive. most people spend far too much time problem solving and not enough time doing memorization which is why so many people end up feeling stupid.

Languages

Any language you want!

This is a hot topic of debate. some people want to make this an "algorithms in python class" which is valid except that most people interested in algorithms want to do them in Java or C. what can I say? The only thing that will be hard is that python doesn't have any pointers, and C isn't that hard, there just seems to be some kind of psychological issues with it with folks new to programming. (if you could learn calculus in college how can c be hard??? come on) I mean, everything is still built on top of C. but choose whichever language you want!

most great courses and textbooks give examples in pseudocode and C so you'll be at a total disadvantage if you don't learn c. and of course we all want to progress beyond basic implementation to stuff like theory and math and all that is the wisdom of the stars. so do whatever you want!

pointers aren't scary in any case. it's how your computer works. just wait until you hit binary!

Project

AlgorithmZine

Materials

  • Essential Algorithms: A Practical Approach to Computer Algorithms - Rod Stephens link code is in C++, and he does throw some math at you but the examples are ultimately easy to understand (I hope!) and he throws in a lot of real world examples. really fell in love with this despite my allergies to C++.
  • Cracking the Coding Interview - this is really nice, especially if you are only interested in algorithms for interviewing and don't have time for other stuff. She gives a lot of great real life advice, as interviewing for big tech companies seems like its own thing and it's a difficult but not impossible game to play, just like the SAT's, LSAT's etc. Much of it seems to be simulating your life as if you were in 3rd or 4th year undergrad as a computer science major. Most masters degree and phd computer science folks can't do this stuff from memory either. so just pretend you are 21 and finishing the last semester of undergrad at mit or stanford or berkeley or caltech and you're set! ;)

Goal

  • Ensure that programmers and computer science majors don't forget this wonderful stuff, which is admittedly not used in everday software engineering. by keeping this alive in our memory we will not forget it only to review it once the interview at the next big tech company rolls out!
  • Enable smart people to perform well in interviews and to do incredible whiteboarding skills
  • Turn interview questions into something fun, because in the end Computer Science is beautiful and is something everyone working in tech should be passionate about.

Events

We meet Sundays 2pm-4pm in the Church classroom and also have individual study group sessions at separate times throughout the week, at Noisebridge.

Held in the Church classroom - purposes are whiteboarding algorithms, learning the deep mysteries of computer science, and delving hopefully into the art and history of why things ended up the way they are today.

Notes

Culprits