[Boards: 3 / a / aco / adv / an / asp / b / bant / biz / c / can / cgl / ck / cm / co / cock / d / diy / e / fa / fap / fit / fitlit / g / gd / gif / h / hc / his / hm / hr / i / ic / int / jp / k / lgbt / lit / m / mlp / mlpol / mo / mtv / mu / n / news / o / out / outsoc / p / po / pol / qa / qst / r / r9k / s / s4s / sci / soc / sp / spa / t / tg / toy / trash / trv / tv / u / v / vg / vint / vip / vp / vr / w / wg / wsg / wsr / x / y ] [Search | Free Show | Home]

Mathematically, what's the best way to learn computer science

This is a blue board which means that it's for everybody (Safe For Work content only). If you see any adult content, please report it.

Thread replies: 69
Thread images: 6

Mathematically, what's the best way to learn computer science or programming from literally 0
>>
File: 1474497518892.jpg (77KB, 814x500px) Image search: [Google]
1474497518892.jpg
77KB, 814x500px
Recreate roller coaster tycoon
>>
Mathematically speaking, you open a CS book and start reading.
>>
File: CS guide.png (178KB, 1068x1142px) Image search: [Google]
CS guide.png
178KB, 1068x1142px
>>8363453
>>
>>8363453
Online introduction courses to get your brain geared towards the logic and then jump into something like free code camp and just learn it the hard way
>>
>>8363453
basically just learn as many programming languages as you can and expect 300k starting
>>
>>8363467

That's stupid
>>
do fizzbuzz :DD
>>
>>8363453
0 is a trivial case so you can move on to 0+1.
>>
Project Euler
>>
>>8363453
Learn to think mechanically. Computer science isn't about mathematics at its core, its about machinery and what sort of operations the universe allows.

For example, you can't just make a cpu bigger to make it faster, even if you throw bipolar transistors everywhere for high speed interconnects and shortcuts. There's just inherent tradeoffs when it comes to computation.

Biology is really no different. Most fields share this common underlying spine.
>>
>>8363453
Learn some real, widely used language the hard way, and once you are comfortable, learn about algorithms and data structures while working on real projects. Usually, making a videogame is good to perfect your learnings and engrave good habits, because it can be quite long and can get you familiar with many problems.
>>
>>8363453

int i = 0;
while (i < learned_programming)
{
google_it();
}
>>
>>8363453
You can't do it with just 0. At the very least you need 1 also.
>>
>>8366176
>not using boolean expression in while statement
>>
>>8366178

i < learned_programming is the boolean statement.
>>
>>8363453
>Mathematically
You can use the Wolfram Programming Lab (run Mathematica in your browser) and Stephen Wolfram's introductory programming book

https://www.wolfram.com/programming-lab/
https://www.wolfram.com/language/elementary-introduction/
>>
>>8364077

ebin xD
>>
>>8363473
like the last part and how its last on the list
>>
>>8363473
>90% of these steps are literally covered in highschool here
>>
you become familiar with topoi, and study the internal logic of categories
then familiarize yourself with (general) type theory, and its applications to programming
i also recommend studying how to reformulate mathematics in terms of globular categories for use in automatic theorem proving, because there is an inherent programming-like 'feel' to it
>>
>>8366176
_Bool master = 0;
while (!master) {
google_it();
}
>>
>>8363453
start with binary. write a game engine in binary.
>>
Bump. Any serious advise?
>>
>>8370145

https://ocw.mit.edu/courses/intro-programming/
https://www.reddit.com/r/learnpython
https://www.reddit.com/r/cpp/
https://www.tutorialspoint.com/
>>
[eqn]\mathbb{STEP1}[/eqn]
Either read The Haskell Road to Logic, Maths and Programming or do Mathematics for computer science (http://ocw.mit.edu/6-042JS15) I would recommend doing both at the same time, the video lectures just got updated, if you want the assigments with solutions you should look for the 2005 version and for exams with solution the 2010 version.
[eqn]\mathbb{STEP2}[/eqn]
You should have the foundations to solve some project Euler problems, you should really try that in order to make the process a bit more fun/interesting rather than raw theory
[eqn]\mathbb{STEP3}[/eqn]
Get an algorithms book and data structures, Purely Functional Data Structures and Pearls of Functional Algorithm Design by Chris Okasaki are god tier and you could always check http://www.rosettacode.org/wiki/Rosetta_Code for some algorithms in functional form.
There is also a course from MIT in algorithms but I haven't seen it, you should give it a try. Be aware that, most likely, you will need to adapt those algorithms to the functional form
[eqn]\mathbb{STEP4}[/eqn]
Now you want to formalize the concepts of category theory, type theory and lambda calculus that you grasped on the way, up to this point you may look for your own resources.

You can always go to codewars in order to apply your knowledge and have some fun.
Good luck and I hope that you enjoy your endevour
>>
>>8370145
>>8363453


Intro to CS (python)
http://www.cs.cmu.edu/~112/schedule.html
Click on each lecture, there's videos. Now you know python, go forth and string together some interesting libraries. Go on libgen and get a book about the Tensor Flow library (Machine Learning library written in C++ that has python wrappers). Read the book, Grey Hat Python to learn how to write your own suite of tests.

Next at CMU you learn C and Assembly, how CPUs work, how virtual memory works ect. Get the book K&R and read through it for a crash course in C. Now you will really learn C by doing 15-213 at CMU, which is all entirely contained in this book: http://csapp.cs.cmu.edu/ (look at the table of contents). You need the 3rd (64bit) version. Go on Abe Books and buy the 'international 3rd version'. It will be shipped from Malaysia and is only 10% the price you would spend otherwise. Quality is still top tier, same book just cheaper. Do that book, and you will master how pointers work, floating point, virtual memory, cpu operations/threads/assembly ect.

Now you want to learn algorithms.
Go on MIT Open Courseware site and do 'Mathematics for Computer Science' https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-042j-mathematics-for-computer-science-fall-2010/ as a base

Get the MIT Algorithms book (CLRS). Read the intro "Foundations". Go through algorithms that interest you like traversing trees, this will be tested in pretty much every job interview or just needed for your own work in whatever you want to do as a side project.

You'll know what to do from here depending on your interest, which could be Linear Algebra, Automata theory, Database systems, software 'engineering', Machine Learning/AI, whatever you want.
>>
>>8363456
This
>>
>>8368310
Bullshit.
>>
>>8370181
>>8370355
>>8370409
Thank you for this.
>>
just do tha stanky leg
>>
File: 1420500175412.jpg (438KB, 900x2134px)
1420500175412.jpg
438KB, 900x2134px
Read and understand all of these books.
>>
>>8363453
HtDP2e

SICP

/thread
>>
>>8368310
What high school did you go to?
>>
>>8364042
Numbers don't lie.
>>
>>8363473
People always say shit like this, but they never say what fucking magical 1%er high school they went to.
>>
>>8366203
aka
programming_learned = false;
while (!programming_learned) {
google_it();
}
>>
Start with Qbasic, move up to html, move up to c++ and then move up to java.
>>
>>8363473
>7ii
what?
>>
>>8363453
>learn programming from 0

Thats a clever one ill give you that
>>
>>8363453
give up

because if you had to ask you shouldn't be programming in the first place.
>>
>>8374192
life long learning is an engineering concept that says you should always be learning something about your field everyday, akin to the Dale Carnegie "Learn a new word every day" except not stupid
>>
import java.io.IOException;

public class LearnProgrammingFromZero {
Runtime runtime = Runtime.getRuntime();
String goalUrl = "https://www.google.nl/#q=how+to+be+good+at+computer+science+without+college";
boolean programmingLearned;

public static void main(String[] args){
new LearnProgrammingFromZero().run();
}

public void run(){
while(!programmingLearned)
googleIt();
}
public void googleIt(){
try {
runtime.exec("rundll32 url.dll,FileProtocolHandler " + goalUrl);
} catch (IOException e) {
e.printStackTrace();
}
}
}
>>
>>8375683
>java

FUCKING KILL YOURSELF
>>
File: degree item get.png (5KB, 872x449px) Image search: [Google]
degree item get.png
5KB, 872x449px
>>8374192
t. brainlet who thinks a degree is only a magically piece of paper that triggers the employable flag.
>>
>>8375695
torilla tavataan
>>
File: lowpolyworld.png (2MB, 1837x875px)
lowpolyworld.png
2MB, 1837x875px
>>8363453
>Mathematically, what's the best way to learn computer science or programming from literally 0
>Mathematically, what's the computer science or programming from literally 0
>Mathematically, literally 0
>0
Zero doesn't fucking exist you twat, it doesnt make sence. Either you have one cow or no cow. You never have 0 cows.
>>
>>8363453
http://cfish.xyz/cfish/Text%20Files/Sensitive/Computers/Programming/
>>
>>8375788
thanks a lot thats a really nice source
>>
>>8375638
>involving woman
lmao
>>
>>8363453
I went to college.
Nothing I've learned I couldn't have learned by reading through textbooks, but lets be honest here, very very few people have the determination of miming the lifestyle of a college student when they aren't one. Having deadlines, having a place to go in public with expectations to meet, all of this helps me to keep up the discipline to actually learn stuff. You can go your own way and self teach, many people have, but many more have lost interest or given up.
>>
>>8363453
enroll in pre-k
>>
One problem I've always had with programming is that after I've learned a language (or rather its basics, I can't really say I 'know' one) I'm not sure what to do with it. I know I should have set myself a goal beforehand, but usually I just get into them because I'm told they're useful and then I'm left there with some notions and little more. Can you suggest something to do about this /sci/?
>>
>>8377334
Either you do jobs where the client tells you what they want the program to do, or you come up with ideas for programs yourself.

Any time you find yourself repeating a process over and over, that would be a good idea for a program.

For instance, I recently was working on a math theorem that required me to do modulo division a lot. My calculator didn't have mod division, so I was having to do it manually: n / a, then take the whole part of this (let's call it b), then do n - ab to get r, the remainder.

After doing that dozens of times, I decided to instead write a program on my calculator that did that process. Now I just have to run the mod program, enter n and a, and it displays r.
>>
I'm studying physics and chemistry, never really touched programming or computer wizardry, I understand the most basic concepts (the way you'd explain it to a 12 year old) and I enjoy this thread very much for some reason
>>
>>8375688
What's wrong with java?
>>
>>8368310
That's fucking bullshit.
>>
>>8375771

kek
>>
I got this saved in my procrastination tabs folder. Don't rememer where I got it from. Comments?

https://docs.google.com/spreadsheets/d/1BD8BJJUNaX63m2QmySWMGDp71nx4W4MyyiIBlfMoN3Q/htmlview?sle=true#gid=0
>>
>>8377679
Thanks. This is awesome!
>>
>>8368310
High school level naive set theory or physics don't count, and by "learning about operating systems" the author didn't mean "learning to do basic shit in windows".
>>
>>8368310
where might
>here
be?
>>
>>8370409
>>8370609
You can also get "Computer Systems: A Programmer's Perspective" from libgen (it's the third edition too), if you're okay with reading a (really shitty quality in this case) pdf instead of a physical copy.
>>
>>8368310
right
>>
start by checking these digits
>>
>>8379200
Checked
>>
>>8368310

You're not supposed to stay in high school for 10 years, brainlet
>>
>>8375695
it's like a ticket to the movies. you are not guaranteed to watch a good movie or have a great time but you atleast get in the room
>>
buy a computer and post in /sci for HelloWorld
Thread posts: 69
Thread images: 6


[Boards: 3 / a / aco / adv / an / asp / b / bant / biz / c / can / cgl / ck / cm / co / cock / d / diy / e / fa / fap / fit / fitlit / g / gd / gif / h / hc / his / hm / hr / i / ic / int / jp / k / lgbt / lit / m / mlp / mlpol / mo / mtv / mu / n / news / o / out / outsoc / p / po / pol / qa / qst / r / r9k / s / s4s / sci / soc / sp / spa / t / tg / toy / trash / trv / tv / u / v / vg / vint / vip / vp / vr / w / wg / wsg / wsr / x / y] [Search | Top | Home]

I'm aware that Imgur.com will stop allowing adult images since 15th of May. I'm taking actions to backup as much data as possible.
Read more on this topic here - https://archived.moe/talk/thread/1694/


If you need a post removed click on it's [Report] button and follow the instruction.
DMCA Content Takedown via dmca.com
All images are hosted on imgur.com.
If you like this website please support us by donating with Bitcoins at 16mKtbZiwW52BLkibtCr8jUg2KVUMTxVQ5
All trademarks and copyrights on this page are owned by their respective parties.
Images uploaded are the responsibility of the Poster. Comments are owned by the Poster.
This is a 4chan archive - all of the content originated from that site.
This means that RandomArchive shows their content, archived.
If you need information for a Poster - contact them.