I recently changed my planned major to computer science, and I want to have a bit of a head start...

I recently changed my planned major to computer science, and I want to have a bit of a head start. I already know some basic HTML, CSS, and a little bit of JavaScript. (I've practiced making simple web pages in Notepad and Notepad ++; they're not online, though.) What are some good resources for a relative beginner to get good at coding?

Other urls found in this thread:

en.wikipedia.org/wiki/Microsoft_Visual_Studio#2017
app.pluralsight.com/library/
courses.cs.washington.edu/courses/cse142/17su/homework.shtml
twitter.com/NSFWRedditVideo

start by learning a programming language?

Well yeah, I'd like to do so. That's why I'm looking for resources.

...

>hymn css ja

It's fucking nothing.

Learn a programming language.

Start with ANSI c

Just dive right into c++
Book: c++ primer 5th edition

t. Computer science major at uc irvine

Thank you! :)

C, c++, and java are good start points.

I personally recommend java to start so that you don't have to deal with pointers while you get used to control structures and the basics of organizing your code.

Then C after you've done a lot of stuff in java. This way you can get an understanding of how stuff is implemented at a lower level (through C). It's good for understanding how memory and scope work. Java simplifies a lot of stuff and hides it from the user. Also, java might be nice if you've done stuff in JavaScript because the syntax is similar (JavaScript feels like a really laidback version of java).

Then c++ afterwards. I imagine c++ is probably a good starting point as well but I have less experience with it.

Honestly though, you're probably best off starting with whatever language your school's introductory programming course uses. I'm from university of Washington and they taught java first.

Lastly, after learning one language, it's really easy to pick up the others because you mostly just need to learn some basics that are common to almost every language.

I've heard CS in burgerland is basically software engineer unless you're at ivy league institute, so go with Java or C++ (Effective C++ is a good book) and CLRS to prepare for "theory".
If you're at ivy league or your CS degree happens to actually be about CS, you want:
How to prove it by Velleman
Linear algebra and its applications by Lay
Any discrete math textbook that isn't shit
Real analysis by Tao (if you already know claculus, otherwise do the whole calculus thing, up to multivariable calc)
Abstract algebra by Oystaeyen
CLRS

Thank you!

>university of Washington
Man are you for real? I'm actually starting there in September! :)

Thanks for all of the recommendations! :)

Are you guys kidding me? C#, not C++

en.wikipedia.org/wiki/Microsoft_Visual_Studio#2017

Buy Visual Studio, and basically you're ready to start coding. The only limit is what you can write.

app.pluralsight.com/library/

Good to learn to code here, but the best way to learn to code is to start coding. Good luck.

Yeah, just finished my undergrad in mathematics. I'll probably get a cushy programming job soon.

If you're going to UW, I'm going to change my advice. Start with java. Don't bother with anything else now. The competition to get into the CSE department is insane. You will most likely not get in. It seems like about half of incoming freshmen intend to major in CS. And they're the smart half that are also good at school. You need to get as close to a 4.0 as possible in CSE 142 and CSE 143. You need to get at least a 3.4 in the calc series and if you take physics, chem, or bio, you also need at least a 3.4. Below that and the CSE department will reject you. Get at least a 3.0 in your random bullshit classes. Calculus, physics, chemistry, and biology are called freshmen weed-out courses, they're really time consuming and tedious and somewhat hard. Don't take too heavy of a starting quarter, keep the first quarter light while you get a feel for how heavy of a courseload you can handle.

Also keep in mind, the overflow from people that were rejected by the CSE department has made all the majors related to CSE competitive. Applied math and math are becoming harder to get into and informatics (composed almost exclusively of CSE rejects) is pretty competitive. So if you intend to do CSE, make sure you have a backup plan that you're at least capable of getting into.

Lastly, fuck the math department. The advisors aren't that great and the department really doesn't have its shit together. If you're an international student and you get into the math major, you can't get an internship in the US because they never bothered to implement a way to decide if your internship is related to your major. This caused issues for my girlfriend.

I'll add a few more things beyond that big post.

The people trying to get into CS are going to be pretty snobby, especially the ones that did well. The culture at UW is kind of elitist about your major. Try not to worry about that too much though. Study what you want that you think you can get a job with, unless you want to go into academia.

On a more lighthearted note, UW is quite pleasant. Campus is nice, there are tons of great professors and so many interesting classes. There are tons of school sponsored activities and clubs and there is a bunch to do in seattle. You can also easily get to Vancouver for a weekend trip as well. There are mountain around if you snowboard or ski. It'll be pretty easy to make friends for the first quarter, since everybody is trying to meet people.

Last thing. Just work through the course now. You can look at the lectures and homework here for CSE 142

courses.cs.washington.edu/courses/cse142/17su/homework.shtml

but muh education

CSE 142 and 143 have nothing to do with educating. They're a battle royale where the last man standing has the highest chance of getting into the CSE department. Everybody is trying to get that sweet, sweet 4.0 and they'll climb over anybody they have to.

Plus, I'm pretty sure they leave that up and easily accessible intentionally for people to study.

Thank you for all of the info. It's very helpful! :)

I'll check this thread occasionally in case you have any other questions. CSE is incredibly competitive so you really have to focus on getting in from the get-go. You can't really fuck around until you've gotten in.

Try to take part in some of the hack-a-thons and make friends with the professors too.

My back-up plan is applied physics, which I believe is non-competitive (though I could be wrong).

I just graduated magna cum laude in CompSci.

I would say don't even pay attention to "coding".

Pay attention to data structures, architecture, language parsers, machine code, logic etc..

If you learn this stuff then picking up "how to do it" in any language is trivial.

I am describing a more bottom-up approach which takes longer but solidifies your understanding.

Top down approach is useful however you will not understand the inner workings as much as fast.

Oh physics is fucking sweet too. I've had really good experiences with the physics department at UW. There is also a bunch of cool research going on (there is actually a small particle accelerator on campus in the building behind mcmahon). I think physics (and it's different degree options) are all non-competitive with just class requirements and a minimum GPA requirement. There is a pdf somewhere on the physics department website detailing the specifics and why physics is great for finding a job. Physics is pretty mentally draining though, maybe worse than pure math. It sounds like a good back up but you'll have a better idea after the intro series for physics tries to forcefully sodomize you. Pay attention to who is teaching which section and what the word on the street is about who is best. Professors were not all created the same.

I think a friend of mine double majored in math and physics and is doing research (something to do with lasers and spectroscopy--it sounded pretty interesting but he was drunk off his ass and I was having a hard time making sense of what he was saying)

Try /g/ aswell. You might get called a nigger tho.

This x 12^90

Yes, /g/ is invaded by pol...

>I recently changed my planned major to computer science, and I want to have a bit of a head start. I already know some basic HTML, CSS, and a little bit of JavaScript. (I've practiced making simple web pages in Notepad and Notepad ++; they're not online, though.) What are some good resources for a relative beginner to get good at coding?

You dumb fuck. That shit ain't CS, you better start with some spivak calculus, linear algebra and probability. For sure you study at a shit university.

What do if at shit Uni? Just go to uni for the degree and self study the rest?

Learn the basics in math... you will need them for algorithms analysis

UW requires a year of calculus and some matrix algebra and differential equations before you can apply to the CS department.

Not OP but is it even possible to start at a community college like Edmonds and then transfer to UW for CS?

Or is it fairly easy to get in to UW as a freshman?

Both. The first is definitely possible. UW heavily favors in-state students and if you keep your GPA up (which should be significantly easier because, let's be honest, you're not fighting with the sharpest tools in the shed) and specifically have taken hard (conceptually) classes like calculus, physics, bio, and chem, then with good grades they'll be happy to have you. I knew a lot of students that transferred in and they managed much better than the people that got in straight from high school. Then again i hung out with the druggies so the dropout rate was dramatically higher from people I knew, but the people that did community college had already been through the wringer and knew what they had to do to succeed.

As to how easy it is to get in, I can't say. I had about 630 on both the reading and math portions of the SAT (I don't think they give a flying fuck about writing, at least not when I applied), I wrote a rather unique essay, and I had a lot of personal activities (hex editing oblivion saves with tutorials on popular forums, key club, music production stuff, etc...) that made me look really good. So it's hard to say how easy it is to get in. I don't know which of those factors made a difference. Plus a 4 on AP calc. My high school sucked though and I only had a ~3.5 GPA.

(1/2)

My advice is talk out of your ass on the application because nobody will validate anything beyond your grades and scores. If necessary, do a good amount of research so that you can pretend like you have really unique hobbies and have done something really interesting. Also, consider what a normal application essay is like, and then write something interesting for the people that are reading the same fucking sob story bullshit a hundred times a day. Don't be that generic woe is me cunt, unless you can make it a fun and a refreshing read. Put your self in the shoes of the people reading application essays. And also, just apply, you can do community college and transfer if they reject you.

Pic related, kittens to ease your qualms about your future.

Captcha: pebble isis

>tfw computer guys get paid in peanuts in my home country shithole

That's really cool. McMahon is actually the dorm I'm assigned to stay. Lol.

UW is a top CS school. However, In my university CS requieres:

1. Two semesters of theoretical algebra
2. 4 semesters of theoretical Calculus (with spivak calculus)
3. Two semesters of theoretical linear algebra
4. Two semesters of analytic geometry
5. statistics, probability, discrete math, computational logic, programming.

Then you leave the common modules with math and enter to the CS path.

Whether or not you want that math basis depends on what you intend to do. I think UW specifically teaches the students what the surrounding companies really want in a fresh employee. They do end up adding a good amount of pure math stuff from what I understand, but I think they really should have a bit more. It's pretty common though for the CSE students to take some math major only classes. Not to mention that both the CS and the CE track are both geared more towards engineering rather than the theoretical side.

I studied pure math and took a bunch of CS classes for non-majors and I really recommend that anyone studying CS to also at least get a math minor. Plus, it's only a couple more classes for the minor after the CSE departmental math requirements at UW. It's really helpful to take classes like number theory and get a feel for proof writing. Especially to prepare for classes like algorithm analysis. It's a bit overwhelming to write proofs if you aren't familiar with the basic proof techniques.

Understanding the proofs for various algorithms is waaaaaay easier with a better theoretical math background.

Python and C have all their documentation online.

>theoretical algebra
>theoretical calculus
>theoretical lingebra

c++ is useless in the real world
t. 10 years of working in the IT industry.

Fuck HTML and JavaScript,

If you actually want to prepare for CS, spivak Calculus and Art of Computer Programming

I am sorry to inform you that you not having a job where C++ is required doesn't make C++ useless in the real world. You should know this.