Mathematically, what's the best way to learn computer science or programming from literally 0
Recreate roller coaster tycoon
Mathematically speaking, you open a CS book and start reading.
>>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.
just do tha stanky leg
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
>>8374192
t. brainlet who thinks a degree is only a magically piece of paper that triggers the employable flag.
>>8375695
torilla tavataan
>>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?
>>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