• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EST 15:51
CET 21:51
KST 05:51
  • Home
  • Forum
  • Calendar
  • Streams
  • Liquipedia
  • Features
  • Store
  • EPT
  • TL+
  • StarCraft 2
  • Brood War
  • Smash
  • Heroes
  • Counter-Strike
  • Overwatch
  • Liquibet
  • Fantasy StarCraft
  • TLPD
  • StarCraft 2
  • Brood War
  • Blogs
Forum Sidebar
Events/Features
News
Featured News
RSL Season 3 - Playoffs Preview0RSL Season 3 - RO16 Groups C & D Preview0RSL Season 3 - RO16 Groups A & B Preview2TL.net Map Contest #21: Winners12Intel X Team Liquid Seoul event: Showmatches and Meet the Pros10
Community News
Weekly Cups (Nov 24-30): MaxPax, Clem, herO win2BGE Stara Zagora 2026 announced15[BSL21] Ro.16 Group Stage (C->B->A->D)4Weekly Cups (Nov 17-23): Solar, MaxPax, Clem win3RSL Season 3: RO16 results & RO8 bracket13
StarCraft 2
General
Chinese SC2 server to reopen; live all-star event in Hangzhou Maestros of the Game: Live Finals Preview (RO4) BGE Stara Zagora 2026 announced Weekly Cups (Nov 24-30): MaxPax, Clem, herO win SC2 Proleague Discontinued; SKT, KT, SGK, CJ disband
Tourneys
Sparkling Tuna Cup - Weekly Open Tournament RSL Offline Finals Info - Dec 13 and 14! StarCraft Evolution League (SC Evo Biweekly) RSL Offline FInals Sea Duckling Open (Global, Bronze-Diamond)
Strategy
Custom Maps
Map Editor closed ?
External Content
Mutation # 502 Negative Reinforcement Mutation # 501 Price of Progress Mutation # 500 Fright night Mutation # 499 Chilling Adaptation
Brood War
General
[ASL20] Ask the mapmakers — Drop your questions BW General Discussion Which season is the best in ASL? Data analysis on 70 million replays BGH Auto Balance -> http://bghmmr.eu/
Tourneys
[Megathread] Daily Proleagues [BSL21] RO16 Group D - Sunday 21:00 CET [BSL21] RO16 Group A - Saturday 21:00 CET [BSL21] RO16 Group B - Sunday 21:00 CET
Strategy
Current Meta Game Theory for Starcraft How to stay on top of macro? PvZ map balance
Other Games
General Games
Path of Exile Nintendo Switch Thread Stormgate/Frost Giant Megathread ZeroSpace Megathread The Perfect Game
Dota 2
Official 'what is Dota anymore' discussion
League of Legends
Heroes of the Storm
Simple Questions, Simple Answers Heroes of the Storm 2.0
Hearthstone
Deck construction bug Heroes of StarCraft mini-set
TL Mafia
Mafia Game Mode Feedback/Ideas TL Mafia Community Thread
Community
General
US Politics Mega-thread Russo-Ukrainian War Thread Things Aren’t Peaceful in Palestine The Big Programming Thread Artificial Intelligence Thread
Fan Clubs
White-Ra Fan Club
Media & Entertainment
[Manga] One Piece Movie Discussion! Anime Discussion Thread
Sports
2024 - 2026 Football Thread Formula 1 Discussion NBA General Discussion
World Cup 2022
Tech Support
Computer Build, Upgrade & Buying Resource Thread
TL Community
Where to ask questions and add stream? The Automated Ban List
Blogs
I decided to write a webnov…
DjKniteX
Physical Exertion During Gam…
TrAiDoS
James Bond movies ranking - pa…
Topin
Thanks for the RSL
Hildegard
Customize Sidebar...

Website Feedback

Closed Threads



Active: 1259 users

The Big Programming Thread - Page 245

Forum Index > General Forum
Post a Reply
Prev 1 243 244 245 246 247 1032 Next
Thread Rules
1. This is not a "do my homework for me" thread. If you have specific questions, ask, but don't post an assignment or homework problem and expect an exact solution.
2. No recruiting for your cockamamie projects (you won't replace facebook with 3 dudes you found on the internet and $20)
3. If you can't articulate why a language is bad, don't start slinging shit about it. Just remember that nothing is worse than making CSS IE6 compatible.
4. Use [code] tags to format code blocks.
Deleted User 124618
Profile Joined November 2010
1142 Posts
Last Edited: 2013-02-14 12:32:36
February 14 2013 12:28 GMT
#4881
Also not everyone can train to be an Olympic athlete either, otherwise we wouldn't care and there would be nothing special about them. You should really read up on genetics.


This is what I said. Not everyone is equal, but anyone without a disability can train to be good enough for any day-to-day task. You won't be an athlete ever, sure, but you'll get the job done.

Learning difficulties etc. could be counted as disabilities in my books, if they are genetic and not caused by environment (bad parents, incompetent teachers etc.).

However I have met too many people who simple refuse to learn anything. Provide them with a problem, and they discard it immediately. How can you know something if you never even try to learn? Those people don't suffer from "low intelligence", they suffer from laziness.
Fwmeh
Profile Joined April 2008
1286 Posts
Last Edited: 2013-02-14 13:58:25
February 14 2013 12:41 GMT
#4882
On February 14 2013 21:28 mcc wrote:
Show nested quote +
On February 14 2013 21:21 Fwmeh wrote:
On February 14 2013 21:03 adwodon wrote:
On February 14 2013 20:40 Greentellon wrote:
I love to use this when talking about IQ or intelligence: brain is like a muscle. Sure, not everyone is an olympic level athlete, but anyone can train to be good enough.

Anyone with a functioning brain can train themselves to be good enough to succeed in programming.


You don't understand the brain at all. That is absolutely not true, learning difficulties and low intelligence aren't down to laziness and suggesting so would probably offend a lot of people, including psychologists / neuroscientists who actually study these things.

Unless of course your 'functioning brain' caveat doesn't include people of low intelligence or that by succeeding in programming they can successfully compile a Hello World programme.

Were you ever to meet someone 'brilliant' you would understand this without question. I met a man when doing my masters in physics who has been introduced to nobel laureates and was highly praised as brilliant and I can assure you, no amount of hard work would ever allow me to attain even an inch of his brilliance.
That is also an extreme example, I can name people who work hard and achieve good things, others who work hard and are only mediocre, some poor people even work very hard and achieve little. Very few will succeed without working hard, simply because there are a lot of smart people in this world, but an intelligent man putting in little effort will still outshine someone below average putting in a significant one, at least in academic matters.

Also not everyone can train to be an Olympic athlete either, otherwise we wouldn't care and there would be nothing special about them. You should really read up on genetics.

This is not supported by research on expert performance, actually...

I doubt that is the case, but I would blame this difference in opinion on misunderstanding of what he means. To avoid that maybe you should expand what you mean exactly.

I took his post to mean that he believes that there are levels of expertise only reachable through "natural talent" (not well defined in this instance, but w/e), specifically from that part where he says that "no amount of hard work would ever allow me to attain even an inch of his brilliance."

There is research on what makes people achieve "brilliance" in a field, and so far they have been unable to discover this "natural talent". Thus, my meaning is inform that current research in this area does not support the above notion. This has nothing at all to do with my opinion, only with my understand of the current state of research in this particular area.

edit: The Cambridge Handbook of Expertise and Expert Performance is a summary of the current state of research.
A parser for things is a function from strings to lists of pairs of things and strings
EpiK
Profile Blog Joined January 2007
Korea (South)5757 Posts
Last Edited: 2013-02-14 13:00:09
February 14 2013 12:57 GMT
#4883
edit: wrong thread
mcc
Profile Joined October 2010
Czech Republic4646 Posts
Last Edited: 2013-02-14 13:11:31
February 14 2013 13:08 GMT
#4884
On February 14 2013 21:41 Fwmeh wrote:
Show nested quote +
On February 14 2013 21:28 mcc wrote:
On February 14 2013 21:21 Fwmeh wrote:
On February 14 2013 21:03 adwodon wrote:
On February 14 2013 20:40 Greentellon wrote:
I love to use this when talking about IQ or intelligence: brain is like a muscle. Sure, not everyone is an olympic level athlete, but anyone can train to be good enough.

Anyone with a functioning brain can train themselves to be good enough to succeed in programming.


You don't understand the brain at all. That is absolutely not true, learning difficulties and low intelligence aren't down to laziness and suggesting so would probably offend a lot of people, including psychologists / neuroscientists who actually study these things.

Unless of course your 'functioning brain' caveat doesn't include people of low intelligence or that by succeeding in programming they can successfully compile a Hello World programme.

Were you ever to meet someone 'brilliant' you would understand this without question. I met a man when doing my masters in physics who has been introduced to nobel laureates and was highly praised as brilliant and I can assure you, no amount of hard work would ever allow me to attain even an inch of his brilliance.
That is also an extreme example, I can name people who work hard and achieve good things, others who work hard and are only mediocre, some poor people even work very hard and achieve little. Very few will succeed without working hard, simply because there are a lot of smart people in this world, but an intelligent man putting in little effort will still outshine someone below average putting in a significant one, at least in academic matters.

Also not everyone can train to be an Olympic athlete either, otherwise we wouldn't care and there would be nothing special about them. You should really read up on genetics.

This is not supported by research on expert performance, actually...

I doubt that is the case, but I would blame this difference in opinion on misunderstanding of what he means. To avoid that maybe you should expand what you mean exactly.

I took his post to mean that he believes that there are levels of expertise only reachable through "natural talent" (not well defined in this instance, but w/e), specifically from that part where he says that "no amount of hard work would ever allow me to attain even an inch of his brilliance."

There is research on what makes people achieve "brilliance" in a field, and so far they have been unable to discover this "natural talent". Thus, my meaning is inform that current research in this area does not support the above notion. This has nothing at all to do with my opinion, only with my understand of the current state of research in this particular area.

The inability to achieve "brilliance" is rather clear in some areas, in some others it is not so clear. The research that I know of mostly pertains to areas where experience trumps talent to high degree and thus conclusion is what you say. In others the talent has much bigger impact, but even there hard work is necessary to reach the top, as there is a lot of people with talent. Only in very few areas talent is nearly completely dominant, and programming is not one of them. But saying that everyone who is not mentally deficient can be a good programmer with enough effort is rather improbable. Also note that mental deficiency is not clearly defined in the sense that the scale is continuous so the cutoff line is to some degree arbitrary. The continuous nature of mental abilities is also the reason why it is very probable that there are degrees of problems that can be solved by people that have sufficient level of innate ability (brain structural differences) and not those that do not have them. Reason being that there are people who cannot comprehend higher math ever (see the mentally retarded). And since the scale of mental abilities is continuous and complexity of problems also it is rather probable to think that there are different limits a person can achieve, but never cross. That is true also for the "talented" people, they also have lines they cannot cross. There is no reason other than political correctness to think that what is true in the realm of physical abilities is not true in the realm of mental ones.

Also word expert is not what he really was talking about. Experts are plenty in every area, "geniuses" are few and statistical analysis is much harder to do. Even the connotation of the words is pretty clear, expert is someone with a lot of experience (effort), genius is someone with innate talent.

Anyway if we want to get out of speculating you would need to actually mention studies that you are referring to.

EDIT: All this is far beyond standard programming work.
Cyx.
Profile Joined November 2010
Canada806 Posts
February 15 2013 03:18 GMT
#4885
Hey guys, I'm currently taking a year off of university and I'm going back into second-year software engineering next year. I have a decent grasp of some of the basics of the programming I'm going to be learning next year (a university course in C++ last year and some hobby programming in Python in highschool and C++/Python in university) but I want to get a bit of a head start on some of the topics I'm going to be learning next year like pointers, sorting algorithms, basic Java programming... basically second-year CS courses.

Are there any good places on the internet to help me get the kind of head start I want? At this point I'm basically reduced to reading my roommate's textbooks (he's in the second year of the program right now) and working through his old lab exercises and stuff from the fall, which is actually pretty good practice except that I have a hard time just picking up his textbook and figuring out what I want to be looking at unless he's right there with me. Also, as someone who's planning on being a civil engineer, not a software engineer, he doesn't really understand a lot of the stuff on the level that I want to and even he and the textbook combined can't really give me everything I need.

I know it's a bit of a broad question so any help you can give is appreciated =) I'm basically looking for anything that has some explanation of the stuff I'm going to be looking at next year but most importantly some exercises and things I can be doing - it's really hard to apply a lot of the things I see without that concrete 'write a piece of code that does X' component.
Abductedonut
Profile Blog Joined December 2010
United States324 Posts
February 15 2013 03:56 GMT
#4886
On February 15 2013 12:18 Cyx. wrote:
Hey guys, I'm currently taking a year off of university and I'm going back into second-year software engineering next year. I have a decent grasp of some of the basics of the programming I'm going to be learning next year (a university course in C++ last year and some hobby programming in Python in highschool and C++/Python in university) but I want to get a bit of a head start on some of the topics I'm going to be learning next year like pointers, sorting algorithms, basic Java programming... basically second-year CS courses.

Are there any good places on the internet to help me get the kind of head start I want? At this point I'm basically reduced to reading my roommate's textbooks (he's in the second year of the program right now) and working through his old lab exercises and stuff from the fall, which is actually pretty good practice except that I have a hard time just picking up his textbook and figuring out what I want to be looking at unless he's right there with me. Also, as someone who's planning on being a civil engineer, not a software engineer, he doesn't really understand a lot of the stuff on the level that I want to and even he and the textbook combined can't really give me everything I need.

I know it's a bit of a broad question so any help you can give is appreciated =) I'm basically looking for anything that has some explanation of the stuff I'm going to be looking at next year but most importantly some exercises and things I can be doing - it's really hard to apply a lot of the things I see without that concrete 'write a piece of code that does X' component.


I hate to sound like a douche, but being a computer scientist and a software engineer isn't all about programming. Programming is a secondary concern for computer scientists. It's phase two.

If you want to learn how to program, there are thousands of tutorials and programming guides online. If you're feeling like a pirate, you could even pirate some books. And they're all great for programming. In short, if you want to program, just program. Learning how to program is linear only for a short while. You're on your own from there.

If you want a TRUE CS education, you're going to have to broaden your horizons as to what computer science really is. You need to learn math, physics, electrical engineering, and computer science. (Look at MIT's degrees... why do you think their only degree program is EECS?)

Don't worry too much about programming. Programming is pretty easy. Focus on math. Math is at the center of being a computer scientist. Learn calculus 1,2,3, linear algebra and differential equations. Take discrete math as a learn linear algebra. Take a statistics class. (It's pointless learning algorithms if you don't know discrete math and statistics)

If you get good at solving difficult math problems, you will get good at solving difficult computer science problems. As I'm writing this I realize it's getting too long. There's too much to say about learning CS.

Just check out MIT's opencourseware. It's good.

http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/

aurum510
Profile Joined July 2010
United States229 Posts
February 15 2013 04:17 GMT
#4887
On February 15 2013 12:56 Abductedonut wrote:
Show nested quote +
On February 15 2013 12:18 Cyx. wrote:
Hey guys, I'm currently taking a year off of university and I'm going back into second-year software engineering next year. I have a decent grasp of some of the basics of the programming I'm going to be learning next year (a university course in C++ last year and some hobby programming in Python in highschool and C++/Python in university) but I want to get a bit of a head start on some of the topics I'm going to be learning next year like pointers, sorting algorithms, basic Java programming... basically second-year CS courses.

Are there any good places on the internet to help me get the kind of head start I want? At this point I'm basically reduced to reading my roommate's textbooks (he's in the second year of the program right now) and working through his old lab exercises and stuff from the fall, which is actually pretty good practice except that I have a hard time just picking up his textbook and figuring out what I want to be looking at unless he's right there with me. Also, as someone who's planning on being a civil engineer, not a software engineer, he doesn't really understand a lot of the stuff on the level that I want to and even he and the textbook combined can't really give me everything I need.

I know it's a bit of a broad question so any help you can give is appreciated =) I'm basically looking for anything that has some explanation of the stuff I'm going to be looking at next year but most importantly some exercises and things I can be doing - it's really hard to apply a lot of the things I see without that concrete 'write a piece of code that does X' component.


I hate to sound like a douche, but being a computer scientist and a software engineer isn't all about programming. Programming is a secondary concern for computer scientists. It's phase two.

If you want to learn how to program, there are thousands of tutorials and programming guides online. If you're feeling like a pirate, you could even pirate some books. And they're all great for programming. In short, if you want to program, just program. Learning how to program is linear only for a short while. You're on your own from there.

If you want a TRUE CS education, you're going to have to broaden your horizons as to what computer science really is. You need to learn math, physics, electrical engineering, and computer science. (Look at MIT's degrees... why do you think their only degree program is EECS?)

Don't worry too much about programming. Programming is pretty easy. Focus on math. Math is at the center of being a computer scientist. Learn calculus 1,2,3, linear algebra and differential equations. Take discrete math as a learn linear algebra. Take a statistics class. (It's pointless learning algorithms if you don't know discrete math and statistics)

If you get good at solving difficult math problems, you will get good at solving difficult computer science problems. As I'm writing this I realize it's getting too long. There's too much to say about learning CS.

Just check out MIT's opencourseware. It's good.

http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/



You definitely do sound like a douche. While programming isn't all of what a CS/SE student should focus on, it's not worth any effort to learn any of the things you mention. I don't think I've met a software engineer who has used any calculus, linear algebra, or differential equations in their life. I don't really call discrete math mathematics either, as opposed to simple mind numbing logic.

Algorithms is also important to software engineers, but honestly, once you recognize when to use what algorithms, it's pretty straightforward.

And unless you're doing embedded systems, you don't need physics or electrical engineering in any way.

Find me a software engineer who makes a living doing something other than programming... And basically all software architects were software engineers at some point... programming.

It's pretty friggen hard to find a job with a CS degree that doesn't involve programming. Maybe some sort of theoretical research at a university, but that's about it (excluding the aforementioned architects and possibly some network jobs).
aurum510
Profile Joined July 2010
United States229 Posts
February 15 2013 04:26 GMT
#4888
On February 15 2013 12:18 Cyx. wrote:
Hey guys, I'm currently taking a year off of university and I'm going back into second-year software engineering next year. I have a decent grasp of some of the basics of the programming I'm going to be learning next year (a university course in C++ last year and some hobby programming in Python in highschool and C++/Python in university) but I want to get a bit of a head start on some of the topics I'm going to be learning next year like pointers, sorting algorithms, basic Java programming... basically second-year CS courses.

Are there any good places on the internet to help me get the kind of head start I want? At this point I'm basically reduced to reading my roommate's textbooks (he's in the second year of the program right now) and working through his old lab exercises and stuff from the fall, which is actually pretty good practice except that I have a hard time just picking up his textbook and figuring out what I want to be looking at unless he's right there with me. Also, as someone who's planning on being a civil engineer, not a software engineer, he doesn't really understand a lot of the stuff on the level that I want to and even he and the textbook combined can't really give me everything I need.

I know it's a bit of a broad question so any help you can give is appreciated =) I'm basically looking for anything that has some explanation of the stuff I'm going to be looking at next year but most importantly some exercises and things I can be doing - it's really hard to apply a lot of the things I see without that concrete 'write a piece of code that does X' component.


Honestly if I was starting off again, I would delve right into Android app developing. I did some recently, and it's very easy to get an app off the ground. As you go you will learn things. Just think of an app to make and do it. It's fun, rewarding, and it feels like you're actually making something, as opposed to doing some dumb assignments in C++ to print binary trees or something.
Kambing
Profile Joined May 2010
United States1176 Posts
February 15 2013 05:16 GMT
#4889
On February 15 2013 13:17 aurum510 wrote:
I don't really call discrete math mathematics either, as opposed to simple mind numbing logic.


Discrete math and logic is mathematics. It's actually the "other" branch of mathematics that you don't explore until college (which is arguably backwards because logic benefits the everyday student much more than calculus). And in many ways, discrete math is the foundations on which all other math is built on. Consequently it plays a big role in computer science and its importance cannot be understated.

On February 15 2013 13:17 aurum510 wrote:
It's pretty friggen hard to find a job with a CS degree that doesn't involve programming. Maybe some sort of theoretical research at a university, but that's about it (excluding the aforementioned architects and possibly some network jobs).


Such jobs exist, e.g., technology-focused entrepreneurship, technology-focused law practice (esp. around software patents), software development product managers, UX designers, tech writers, or education.
WindWolf
Profile Blog Joined July 2012
Sweden11767 Posts
February 15 2013 05:29 GMT
#4890
On February 15 2013 14:16 Kambing wrote:
Show nested quote +
On February 15 2013 13:17 aurum510 wrote:
I don't really call discrete math mathematics either, as opposed to simple mind numbing logic.


Discrete math and logic is mathematics. It's actually the "other" branch of mathematics that you don't explore until college (which is arguably backwards because logic benefits the everyday student much more than calculus). And in many ways, discrete math is the foundations on which all other math is built on. Consequently it plays a big role in computer science and its importance cannot be understated..

Discrete math is very much math, I can't understand why people wouldn't call it that.

@Underlined part: I studied discrete math in high-school, and last semester I did study it again on my university. And content wise, it was mostly the same stuff that I studied again. We even had lectures together with a high-school class
EZ4ENCE
Kambing
Profile Joined May 2010
United States1176 Posts
February 15 2013 05:34 GMT
#4891
On February 15 2013 14:29 WindWolf wrote:
Show nested quote +
On February 15 2013 14:16 Kambing wrote:
On February 15 2013 13:17 aurum510 wrote:
I don't really call discrete math mathematics either, as opposed to simple mind numbing logic.


Discrete math and logic is mathematics. It's actually the "other" branch of mathematics that you don't explore until college (which is arguably backwards because logic benefits the everyday student much more than calculus). And in many ways, discrete math is the foundations on which all other math is built on. Consequently it plays a big role in computer science and its importance cannot be understated..

Discrete math is very much math, I can't understand why people wouldn't call it that.

@Underlined part: I studied discrete math in high-school, and last semester I did study it again on my university. And content wise, it was mostly the same stuff that I studied again. We even had lectures together with a high-school class


You're super lucky. The traditional high school curriculum doesn't expose students to any kind of discrete math. This ends up being one of the major barriers to entry in an intro CS sequence as many students don't have the training/natural intuition for the sorts of logical thinking that programming requires.
Craton
Profile Blog Joined December 2009
United States17274 Posts
Last Edited: 2013-02-15 05:38:24
February 15 2013 05:38 GMT
#4892
Heavy mathematics will be used for certain algorithms. However, that type of thing typically makes up a very small portion of overall development. If you have the background, you can be the one guy who gets tasked with developing and/or optimizing those algorithms, but it's certainly not a critical skill set to have.
twitch.tv/cratonz
WindWolf
Profile Blog Joined July 2012
Sweden11767 Posts
February 15 2013 05:48 GMT
#4893
On February 15 2013 14:34 Kambing wrote:
Show nested quote +
On February 15 2013 14:29 WindWolf wrote:
On February 15 2013 14:16 Kambing wrote:
On February 15 2013 13:17 aurum510 wrote:
I don't really call discrete math mathematics either, as opposed to simple mind numbing logic.


Discrete math and logic is mathematics. It's actually the "other" branch of mathematics that you don't explore until college (which is arguably backwards because logic benefits the everyday student much more than calculus). And in many ways, discrete math is the foundations on which all other math is built on. Consequently it plays a big role in computer science and its importance cannot be understated..

Discrete math is very much math, I can't understand why people wouldn't call it that.

@Underlined part: I studied discrete math in high-school, and last semester I did study it again on my university. And content wise, it was mostly the same stuff that I studied again. We even had lectures together with a high-school class


You're super lucky. The traditional high school curriculum doesn't expose students to any kind of discrete math. This ends up being one of the major barriers to entry in an intro CS sequence as many students don't have the training/natural intuition for the sorts of logical thinking that programming requires.

Things in Sweden must be different from those in the US, because at least when I studied, you could read natural science with (slight) focus on math and programming at high-school
EZ4ENCE
Kambing
Profile Joined May 2010
United States1176 Posts
February 15 2013 05:51 GMT
#4894
On February 15 2013 14:48 WindWolf wrote:
Show nested quote +
On February 15 2013 14:34 Kambing wrote:
On February 15 2013 14:29 WindWolf wrote:
On February 15 2013 14:16 Kambing wrote:
On February 15 2013 13:17 aurum510 wrote:
I don't really call discrete math mathematics either, as opposed to simple mind numbing logic.


Discrete math and logic is mathematics. It's actually the "other" branch of mathematics that you don't explore until college (which is arguably backwards because logic benefits the everyday student much more than calculus). And in many ways, discrete math is the foundations on which all other math is built on. Consequently it plays a big role in computer science and its importance cannot be understated..

Discrete math is very much math, I can't understand why people wouldn't call it that.

@Underlined part: I studied discrete math in high-school, and last semester I did study it again on my university. And content wise, it was mostly the same stuff that I studied again. We even had lectures together with a high-school class


You're super lucky. The traditional high school curriculum doesn't expose students to any kind of discrete math. This ends up being one of the major barriers to entry in an intro CS sequence as many students don't have the training/natural intuition for the sorts of logical thinking that programming requires.

Things in Sweden must be different from those in the US, because at least when I studied, you could read natural science with (slight) focus on math and programming at high-school


It is. Part of the side effect of standardization of the HS curriculum here is that some subjects get pushed to the wayside as electives and then are summarily ignored by schools (to their credit, usually due to budget and capability). For example, computer science is considered an elective in most, if not all states, and as such doesn't get the same level of treatment as chemistry and biology.

http://www.usnews.com/education/blogs/high-school-notes/2012/10/01/high-schools-not-meeting-stem-demand
Kambing
Profile Joined May 2010
United States1176 Posts
February 15 2013 05:56 GMT
#4895
On February 15 2013 14:38 Craton wrote:
Heavy mathematics will be used for certain algorithms. However, that type of thing typically makes up a very small portion of overall development. If you have the background, you can be the one guy who gets tasked with developing and/or optimizing those algorithms, but it's certainly not a critical skill set to have.


It's true that intensive algorithm design is not something that the everyday programmer has to do. However, mathematical training affects a developer well-beyond algorithm design. Simply reasoning about programs in a precise, scientific way requires discrete mathematics, e.g., reasoning about program flow and invariants or understanding the computational complexity of your programs.
Cyx.
Profile Joined November 2010
Canada806 Posts
Last Edited: 2013-02-15 06:56:50
February 15 2013 06:54 GMT
#4896
On February 15 2013 12:56 Abductedonut wrote:
Show nested quote +
On February 15 2013 12:18 Cyx. wrote:
Hey guys, I'm currently taking a year off of university and I'm going back into second-year software engineering next year. I have a decent grasp of some of the basics of the programming I'm going to be learning next year (a university course in C++ last year and some hobby programming in Python in highschool and C++/Python in university) but I want to get a bit of a head start on some of the topics I'm going to be learning next year like pointers, sorting algorithms, basic Java programming... basically second-year CS courses.

Are there any good places on the internet to help me get the kind of head start I want? At this point I'm basically reduced to reading my roommate's textbooks (he's in the second year of the program right now) and working through his old lab exercises and stuff from the fall, which is actually pretty good practice except that I have a hard time just picking up his textbook and figuring out what I want to be looking at unless he's right there with me. Also, as someone who's planning on being a civil engineer, not a software engineer, he doesn't really understand a lot of the stuff on the level that I want to and even he and the textbook combined can't really give me everything I need.

I know it's a bit of a broad question so any help you can give is appreciated =) I'm basically looking for anything that has some explanation of the stuff I'm going to be looking at next year but most importantly some exercises and things I can be doing - it's really hard to apply a lot of the things I see without that concrete 'write a piece of code that does X' component.


I hate to sound like a douche, but being a computer scientist and a software engineer isn't all about programming. Programming is a secondary concern for computer scientists. It's phase two.

If you want to learn how to program, there are thousands of tutorials and programming guides online. If you're feeling like a pirate, you could even pirate some books. And they're all great for programming. In short, if you want to program, just program. Learning how to program is linear only for a short while. You're on your own from there.

If you want a TRUE CS education, you're going to have to broaden your horizons as to what computer science really is. You need to learn math, physics, electrical engineering, and computer science. (Look at MIT's degrees... why do you think their only degree program is EECS?)

Don't worry too much about programming. Programming is pretty easy. Focus on math. Math is at the center of being a computer scientist. Learn calculus 1,2,3, linear algebra and differential equations. Take discrete math as a learn linear algebra. Take a statistics class. (It's pointless learning algorithms if you don't know discrete math and statistics)

If you get good at solving difficult math problems, you will get good at solving difficult computer science problems. As I'm writing this I realize it's getting too long. There's too much to say about learning CS.

Just check out MIT's opencourseware. It's good.

http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/



Well, to give you a bit of background on me - I'm well aware that programming is very much math and that's why I love it. I currently work as a math tutor for high school and first-year university students and my math classes are consistently my best marks. Math isn't my problem, nor is it what I want to focus on right now in my spare time either - so since I already have passed every math course you mentioned except differential equations, including a couple of stats classes, let's just assume I have a pretty good grasp of that side of it and want some good resources for learning the programming side of it in my spare time.

EDIT: That being said, MIT's opencourseware does look like it could be very much like what I want, so despite you maybe coming off as a little bit of a douche, thank you! This site looks like it should be able to not only give me a decent idea of what I'll come up against but also let me get some practice on it which is exactly what I need so you were really helpful =)
heishe
Profile Blog Joined June 2009
Germany2284 Posts
Last Edited: 2013-02-15 07:32:37
February 15 2013 07:29 GMT
#4897
If you need anything but programming from CS education depends on what you want to do after. If you're just aiming to be a standard business applications programmer, then duh, yeah you're never going to need anything besides programming knowledge and knowledge of good systems design.

But:

You want to go into research or work at a company that does a lot of research related stuff (all applied sciences that need programming [theres a lot] like image and audio compression, video and audio processing in general [this includes game programming], machine learning, well there's really a huge list here. Just think of any big company that you can think off that got rich on some kind of technology [this includes stuff like medicine]), there's no way to get around the stuff (among others, math) that so many of you describe as being useless to a programmer.

But that's just the things that require stuff like math as a baseline. If you want to be at the top of your field, you should have a lot of knowledge in a lot of different theoretical fields, because then you're going to be the guy who is able to draw connections between related problems and come up with solutions that nobody else can, or you're going to be the guy who invents an awesome algorithm that is based on some weird theoretical math problem that nobody ever thought would have any application.

In general, if you want to actually invent useful things and make the world a more technologically advanced place as a programmer, you're going to need a lot of skills that an average programmer doesn't have.

Of course the standard average programmer Joe can say goodbye to math after graduation, but imo university and even college education should train you to be able to become the elite, not the baseline programmer. Becoming a good average programmer doesn't need any formal education (in fact, no formal education in the world will make you a good programmer), just experience and a decent amount of common sense.
If you value your soul, never look into the eye of a horse. Your soul will forever be lost in the void of the horse.
junseung
Profile Joined September 2012
Norway4 Posts
February 15 2013 08:11 GMT
#4898
So, as a first year software-engineering student that doesn't just want to program for the rest of my life: Can I just stick out the course, and be able to do some exciting jobs later in life, or should I change to a "real" engineering degree like EE? Or I was thinking of maybe taking a Business/management masters after, if not a more technical CS one. So far I've done pretty well in all my courses, including Math, but just programming itself is not very... exciting to me, so far.
Kimchi
phar
Profile Joined August 2011
United States1080 Posts
February 15 2013 08:35 GMT
#4899
On February 15 2013 12:18 Cyx. wrote:I want to get a bit of a head start on some of the topics I'm going to be learning next year like pointers

Get a copy of K&R

On February 15 2013 12:18 Cyx. wrote:sorting algorithms

Get a copy of Knuth vol 3

On February 15 2013 12:18 Cyx. wrote:basic Java programming...

Find any tutorial online and write hello world. Then find any source of basic programming puzzles/questions and grind out as many as you can.

On February 15 2013 17:11 junseung wrote:
So, as a first year software-engineering student that doesn't just want to program for the rest of my life: Can I just stick out the course, and be able to do some exciting jobs later in life, or should I change to a "real" engineering degree like EE? Or I was thinking of maybe taking a Business/management masters after, if not a more technical CS one. So far I've done pretty well in all my courses, including Math, but just programming itself is not very... exciting to me, so far.

If you're ok with writing code for a few years or more, then you can stick on Software Engineering and be one of the many guys who transitions into being manager / PM / etc. Or you can just go do software engineering straight into a master's degree without any experience and then try to land a PM/manager job right out of the gates, that's pretty common too.
Who after all is today speaking about the destruction of the Armenians?
AmericanUmlaut
Profile Blog Joined November 2010
Germany2581 Posts
February 15 2013 11:33 GMT
#4900
On February 15 2013 12:56 Abductedonut wrote:
I hate to sound like a douche...

You poor guy .

I'm sure your advice is well-intentioned, but it's a bit silly. There are obviously fields of application for a CS degree that don't require programming, but you're trying to make it sound like writing code is a secondary skill. That's like saying that knowing how to use tools is a secondary skill to a carpenter - there's obviously a lot of field-specific additional knowledge that a computer scientist will need professionally, but which set of knowledge that turns out to be is entirely dependent on the kind of work you end up doing.

For example, I ended up in web application development, so all of the things you just suggested the guy learn are actually useless to me. I took a huge amount of math and physics at university, and I'm glad I did because I like knowing those things, but I use none of it professionally. If I were advising someone on what to learn in addition to the basics of programming, using the same kind of blindered bias that you're using in your advice, I'd say just read W3C specs, learn how TCP/IP and HTTP work, learn RESTful principles, and so on and so on. Only the person I'm giving advice to might be interested in doing physics simulations on massively parallel systems, where knowing the semantic significance of the <main> element isn't going to be of any more use than multivariable algebra is to me.
The frumious Bandersnatch
Prev 1 243 244 245 246 247 1032 Next
Please log in or register to reply.
Live Events Refresh
Next event in 3h 9m
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
mouzHeroMarine 606
IndyStarCraft 175
Railgan 82
StarCraft: Brood War
Britney 14433
Calm 2613
Shuttle 549
Larva 233
firebathero 124
Dota 2
420jenkins404
capcasts79
Counter-Strike
fl0m5405
kRYSTAL_29
Heroes of the Storm
Liquid`Hasu405
Khaldor148
Other Games
Grubby3907
RotterdaM161
Sick112
C9.Mang0102
Trikslyr85
ArmadaUGS85
QueenE66
Mew2King50
ViBE24
XaKoH 12
Organizations
Other Games
Algost 11
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 19 non-featured ]
StarCraft 2
• Reevou 11
• Dystopia_ 1
• IndyKCrew
• sooper7s
• AfreecaTV YouTube
• Migwel
• intothetv
• LaughNgamezSOOP
• Kozan
StarCraft: Brood War
• FirePhoenix15
• 80smullet 14
• STPLYoutube
• ZZZeroYoutube
• BSLYoutube
Dota 2
• WagamamaTV663
• lizZardDota267
League of Legends
• TFBlade957
Other Games
• imaqtpie1493
• Shiphtur243
Upcoming Events
Replay Cast
3h 9m
Korean StarCraft League
1d 6h
CranKy Ducklings
1d 13h
WardiTV 2025
1d 15h
SC Evo League
1d 15h
BSL 21
1d 23h
Sziky vs OyAji
Gypsy vs eOnzErG
OSC
2 days
Solar vs Creator
ByuN vs Gerald
Percival vs Babymarine
Moja vs Krystianer
EnDerr vs ForJumy
sebesdes vs Nicoract
Sparkling Tuna Cup
2 days
WardiTV 2025
2 days
OSC
2 days
[ Show More ]
BSL 21
2 days
Bonyth vs StRyKeR
Tarson vs Dandy
Replay Cast
3 days
Wardi Open
3 days
StarCraft2.fi
3 days
Monday Night Weeklies
3 days
Replay Cast
4 days
WardiTV 2025
4 days
StarCraft2.fi
4 days
PiGosaur Monday
5 days
StarCraft2.fi
5 days
Tenacious Turtle Tussle
6 days
The PondCast
6 days
WardiTV 2025
6 days
StarCraft2.fi
6 days
Liquipedia Results

Completed

Proleague 2025-11-30
RSL Revival: Season 3
Light HT

Ongoing

C-Race Season 1
IPSL Winter 2025-26
KCM Race Survival 2025 Season 4
YSL S2
BSL Season 21
CSCL: Masked Kings S3
Slon Tour Season 2
Acropolis #4 - TS3
META Madness #9
SL Budapest Major 2025
ESL Impact League Season 8
BLAST Rivals Fall 2025
IEM Chengdu 2025
PGL Masters Bucharest 2025
Thunderpick World Champ.
CS Asia Championships 2025
ESL Pro League S22
StarSeries Fall 2025
FISSURE Playground #2

Upcoming

BSL 21 Non-Korean Championship
Acropolis #4
IPSL Spring 2026
Bellum Gens Elite Stara Zagora 2026
HSC XXVIII
RSL Offline Finals
WardiTV 2025
Kuram Kup
PGL Cluj-Napoca 2026
IEM Kraków 2026
BLAST Bounty Winter 2026
BLAST Bounty Winter Qual
eXTREMESLAND 2025
TLPD

1. ByuN
2. TY
3. Dark
4. Solar
5. Stats
6. Nerchio
7. sOs
8. soO
9. INnoVation
10. Elazer
1. Rain
2. Flash
3. EffOrt
4. Last
5. Bisu
6. Soulkey
7. Mini
8. Sharp
Sidebar Settings...

Advertising | Privacy Policy | Terms Of Use | Contact Us

Original banner artwork: Jim Warren
The contents of this webpage are copyright © 2025 TLnet. All Rights Reserved.