|
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. |
Sweden33719 Posts
On June 09 2017 15:33 Acrofales wrote:Show nested quote +On June 09 2017 15:08 Liquid`Jinro wrote: OK, I've gotta ask because it's driving me a little insane: I'm taking a python course @ edx (python for data science to be specific), and the instructor keeps creating variables named after built in functions (for example: list = [1,2,3], or sorted = np.array(unsorted)).
.... I thought this was a very basic "don't do this" thing? Or am I wrong and it's not a big deal at all?
Definitely a big don't do this. It'll work in Python as long as you don't use a reserved word, because of scoping, but it's horrific coding practice. That's what I thought, even though these are just examples it's kind of not leaving a good impression on me as to quality of this course.
|
On June 09 2017 15:57 dsyxelic wrote: would cs algorithm/problem discussion go in the math thread?
say.. for example leetcode/interview-esque problems
asking for the future since I feel like there is programming thread -> math thread with a missing 'CS thread' in the middle which would better suit that
I think that algorithm implementations in programming languages (any) are fine here. I just don't think it's a good place for strictly math problems.
|
On June 09 2017 16:34 Liquid`Jinro wrote:Show nested quote +On June 09 2017 15:33 Acrofales wrote:On June 09 2017 15:08 Liquid`Jinro wrote: OK, I've gotta ask because it's driving me a little insane: I'm taking a python course @ edx (python for data science to be specific), and the instructor keeps creating variables named after built in functions (for example: list = [1,2,3], or sorted = np.array(unsorted)).
.... I thought this was a very basic "don't do this" thing? Or am I wrong and it's not a big deal at all?
Definitely a big don't do this. It'll work in Python as long as you don't use a reserved word, because of scoping, but it's horrific coding practice. That's what I thought, even though these are just examples it's kind of not leaving a good impression on me as to quality of this course.
I haven't enjoyed online programming courses in the past. I taught myself better by getting a textbook and working through it. Something like Intro To Java Programming Comprehensive Version by Liang. Each chapter is like 5-10 minutes to read and provides sample problems to work through.
|
On June 09 2017 16:34 Liquid`Jinro wrote:Show nested quote +On June 09 2017 15:33 Acrofales wrote:On June 09 2017 15:08 Liquid`Jinro wrote: OK, I've gotta ask because it's driving me a little insane: I'm taking a python course @ edx (python for data science to be specific), and the instructor keeps creating variables named after built in functions (for example: list = [1,2,3], or sorted = np.array(unsorted)).
.... I thought this was a very basic "don't do this" thing? Or am I wrong and it's not a big deal at all?
Definitely a big don't do this. It'll work in Python as long as you don't use a reserved word, because of scoping, but it's horrific coding practice. That's what I thought, even though these are just examples it's kind of not leaving a good impression on me as to quality of this course.
If code's on slides, it doesn't matter -- they're just examples, meant to be illustrative instead of proper. If it's code given to you, eh, gross.
|
Anyone wanna look over my answer for an algorithm?
The algorithm works as follows
+ Show Spoiler + Consider the following “merge sort” algorithm for a list of size n, where n is even: Remove the last two elements and recursively sort the remaining n − 2 elements. Sort the two removed elements with one comparison. Form the final sorted list by using the merge algorithm from class to merge the two sorted elements and the sorted list (of size n − 2).
My pseudocode (in the style of my professor). Note that we don't need to write out the "merge" function, only the sorting function.
+ Show Spoiler + function ModifiedMergeSort(A, p, r) //array A, left index p, right index r if p < r-1 //if we have n-2 elements to snip off q <- r-2 //snip them off, q will be our new right index ModifiedMergeSort(A, p, q) //recursive call with new left and right if A[r-1 > A[r] //compare our snipped elements A[r-1] <-> A[r] //swap them end if Merge(A, (p,q), (q+1, r)) //merge the list with the snipped elements end if end function
|
On June 09 2017 15:08 Liquid`Jinro wrote: OK, I've gotta ask because it's driving me a little insane: I'm taking a python course @ edx (python for data science to be specific), and the instructor keeps creating variables named after built in functions (for example: list = [1,2,3], or sorted = np.array(unsorted)).
.... I thought this was a very basic "don't do this" thing? Or am I wrong and it's not a big deal at all?
If its python for data science, the teacher might be more in research/academia position. Those people aren't professional coders and don't follow a lot of best practices. One year of industry at a corporation and you'll pick up plenty of good defensive coding techniques.
|
Sweden33719 Posts
On June 10 2017 06:36 Blisse wrote:Show nested quote +On June 09 2017 16:34 Liquid`Jinro wrote:On June 09 2017 15:33 Acrofales wrote:On June 09 2017 15:08 Liquid`Jinro wrote: OK, I've gotta ask because it's driving me a little insane: I'm taking a python course @ edx (python for data science to be specific), and the instructor keeps creating variables named after built in functions (for example: list = [1,2,3], or sorted = np.array(unsorted)).
.... I thought this was a very basic "don't do this" thing? Or am I wrong and it's not a big deal at all?
Definitely a big don't do this. It'll work in Python as long as you don't use a reserved word, because of scoping, but it's horrific coding practice. That's what I thought, even though these are just examples it's kind of not leaving a good impression on me as to quality of this course. If code's on slides, it doesn't matter -- they're just examples, meant to be illustrative instead of proper. If it's code given to you, eh, gross. Code on slides as well as code in jupyter notebooks given out.
On June 10 2017 03:23 Thaniri wrote:Show nested quote +On June 09 2017 16:34 Liquid`Jinro wrote:On June 09 2017 15:33 Acrofales wrote:On June 09 2017 15:08 Liquid`Jinro wrote: OK, I've gotta ask because it's driving me a little insane: I'm taking a python course @ edx (python for data science to be specific), and the instructor keeps creating variables named after built in functions (for example: list = [1,2,3], or sorted = np.array(unsorted)).
.... I thought this was a very basic "don't do this" thing? Or am I wrong and it's not a big deal at all?
Definitely a big don't do this. It'll work in Python as long as you don't use a reserved word, because of scoping, but it's horrific coding practice. That's what I thought, even though these are just examples it's kind of not leaving a good impression on me as to quality of this course. I haven't enjoyed online programming courses in the past. I taught myself better by getting a textbook and working through it. Something like Intro To Java Programming Comprehensive Version by Liang. Each chapter is like 5-10 minutes to read and provides sample problems to work through. I've loved the ones I've taken before this actually (mit 6001x, 6002x, LAFF - although this is more math than programming - and the parts of CS50x that Ive done so far).
In general very positive on MOOCs, although come to think of it most of those courses had an accompanying textbook as well.
|
Hi!
I just completely learn python the hard way (except for the bits about creating web-pages)
And now im here haha. I wrote a blackjack simulator and tictactoe with some unit tests. Hoping to enter to do a masters in CS so i can do a career swap
|
Can cs50 edx be stickied or something? Imo the most perfect introduction to programming and cs that I've ever seen.
|
On June 11 2017 22:24 BrTarolg wrote: Hi!
I just completely learn python the hard way (except for the bits about creating web-pages)
And now im here haha. I wrote a blackjack simulator and tictactoe with some unit tests. Hoping to enter to do a masters in CS so i can do a career swap
I did career swap without any kind of degree in CS (all I have is bachelor's in Sociology and I've been following a successful programming career for the past 4 years with steadily increasing gains and positions). Just so you know, unless you're working with something that's very close to the "sciency" part of the CS you probably won't use 90% of what you learn there in a real work (especially not the way they teach you to program). I have a friend who has a PhD in CS (specializing in distributed systems and parallel computing), he switched from academic work to regular programming and his opinion is that he was living in the dark for all those years and even programmers just above junior position were better than him in the beginning.
There's plenty of people in my company (myself included) who'd love to get a degree in cognitivistics but unfortunately they don't offer weekend or evening classes so you can't really do that and work at the same time. Philosophy is actually super useful in programming since they teach you plenty of logic and abstractions in there.
|
I'm gonna do a 1 year masters, it seemed like a good idea and i don't mind learning some theoretical stuff, might be useful one day with a finance+maths background but who knows
What's cs50 edx?
|
On June 12 2017 03:12 Manit0u wrote:Show nested quote +On June 11 2017 22:24 BrTarolg wrote: Hi!
I just completely learn python the hard way (except for the bits about creating web-pages)
And now im here haha. I wrote a blackjack simulator and tictactoe with some unit tests. Hoping to enter to do a masters in CS so i can do a career swap I did career swap without any kind of degree in CS (all I have is bachelor's in Sociology and I've been following a successful programming career for the past 4 years with steadily increasing gains and positions). Just so you know, unless you're working with something that's very close to the "sciency" part of the CS you probably won't use 90% of what you learn there in a real work (especially not the way they teach you to program). I have a friend who has a PhD in CS (specializing in distributed systems and parallel computing), he switched from academic work to regular programming and his opinion is that he was living in the dark for all those years and even programmers just above junior position were better than him in the beginning. There's plenty of people in my company (myself included) who'd love to get a degree in cognitivistics but unfortunately they don't offer weekend or evening classes so you can't really do that and work at the same time. Philosophy is actually super useful in programming since they teach you plenty of logic and abstractions in there.
I would actually strongly disagree. I would estimate that I have had use of roughly 80% of what I learned at university, either directly or indirectly. Looking back, I realize just how good our initial programming courses were.
That said, there were some very huge gaps, at least with the courses I took, most obviously:
1) How to work in larger, collaborative code-bases over a long period of time.
2) How to work effectively with requirements in a non-trivial business domain
3) How to manage legacy code/systems.
But the reason I would prefer to hire people with degrees over those without is simple that a degree is at least some hint (however imperfect) that I'm dealing with someone capable of learning. Hopefully fast, and hopefully reasonably sophisticated things. The most valuable thing (to me) in a potential hire would be a desire to always improve and learn new things.
|
28079 Posts
On June 12 2017 05:47 BrTarolg wrote: I'm gonna do a 1 year masters, it seemed like a good idea and i don't mind learning some theoretical stuff, might be useful one day with a finance+maths background but who knows
What's cs50 edx?
CS50 is the intro to computer science course at Harvard, and it's offered as a MOOC (massive online open course) from Edx. The Edx version is called CS50x and it's basically an exact version of the actual course. The 2017 version has all the video lectures from 2016 and the same problem sets/syllabus. It's probably the most highly regarded MOOC alongside 6.00.1x from MIT. CS50 is so big at Harvard it's like a cult, lol. The prof is very entertaining tbh.
The MIT course is good too, but it's a bit harder and a lot more dry when it comes to the lectures. Also it has a schedule and some exams (it's a 2 month course), while CS50 can be completed any time during 2017.
edit: should note, CS50 is taught in C with a small module on python/html/css at the end. I think week 0 you have to use scratch for the problem set. 6.00.1x is all python.
|
Awesome thanks! i'll definitely check it out
I got a free summer so i'm just spending a bit of time teaching myself before i goto uni basically
|
|
On June 12 2017 06:36 Fwmeh wrote:Show nested quote +On June 12 2017 03:12 Manit0u wrote:On June 11 2017 22:24 BrTarolg wrote: Hi!
I just completely learn python the hard way (except for the bits about creating web-pages)
And now im here haha. I wrote a blackjack simulator and tictactoe with some unit tests. Hoping to enter to do a masters in CS so i can do a career swap I did career swap without any kind of degree in CS (all I have is bachelor's in Sociology and I've been following a successful programming career for the past 4 years with steadily increasing gains and positions). Just so you know, unless you're working with something that's very close to the "sciency" part of the CS you probably won't use 90% of what you learn there in a real work (especially not the way they teach you to program). I have a friend who has a PhD in CS (specializing in distributed systems and parallel computing), he switched from academic work to regular programming and his opinion is that he was living in the dark for all those years and even programmers just above junior position were better than him in the beginning. There's plenty of people in my company (myself included) who'd love to get a degree in cognitivistics but unfortunately they don't offer weekend or evening classes so you can't really do that and work at the same time. Philosophy is actually super useful in programming since they teach you plenty of logic and abstractions in there. I would actually strongly disagree. I would estimate that I have had use of roughly 80% of what I learned at university, either directly or indirectly. Looking back, I realize just how good our initial programming courses were. That said, there were some very huge gaps, at least with the courses I took, most obviously: 1) How to work in larger, collaborative code-bases over a long period of time. 2) How to work effectively with requirements in a non-trivial business domain 3) How to manage legacy code/systems. But the reason I would prefer to hire people with degrees over those without is simple that a degree is at least some hint (however imperfect) that I'm dealing with someone capable of learning. Hopefully fast, and hopefully reasonably sophisticated things. The most valuable thing (to me) in a potential hire would be a desire to always improve and learn new things.
It all depends on your uni (obviously, some have better courses than others). I just don't think it's a huge requirement or anything and way too many people think that if they get their CS degree they'll instantly become programmers (you wouldn't believe how many people apply for a job in my company only to learn they can't solve the most basic interview question). I even though about getting an engineer degree but when I solved some of the problems my friend needed help with (he was doing it at the time) I realized that it would just be a waste of every second weekend for the next 3 years just to get the paper. They give people some weird problems and after they get their degree they can't solve basically the only problem we give at interviews:
Write a function (any language, can be pseudocode, doesn't have to be optimal) that gets a string as a parameter and returns first unique letter in it (or return '?' if no unique letter is found).
Every single candidate is posed with this problem. It's not super trivial, but it doesn't require knowing anything past the absolute basics and some thinking. We do 5-10 interviews each week and we hired 3 people over past 4 months (and we need like 20 more). Most candidates fail on the above problem.
|
On June 12 2017 10:10 Manit0u wrote:Show nested quote +On June 12 2017 06:36 Fwmeh wrote:On June 12 2017 03:12 Manit0u wrote:On June 11 2017 22:24 BrTarolg wrote: Hi!
I just completely learn python the hard way (except for the bits about creating web-pages)
And now im here haha. I wrote a blackjack simulator and tictactoe with some unit tests. Hoping to enter to do a masters in CS so i can do a career swap I did career swap without any kind of degree in CS (all I have is bachelor's in Sociology and I've been following a successful programming career for the past 4 years with steadily increasing gains and positions). Just so you know, unless you're working with something that's very close to the "sciency" part of the CS you probably won't use 90% of what you learn there in a real work (especially not the way they teach you to program). I have a friend who has a PhD in CS (specializing in distributed systems and parallel computing), he switched from academic work to regular programming and his opinion is that he was living in the dark for all those years and even programmers just above junior position were better than him in the beginning. There's plenty of people in my company (myself included) who'd love to get a degree in cognitivistics but unfortunately they don't offer weekend or evening classes so you can't really do that and work at the same time. Philosophy is actually super useful in programming since they teach you plenty of logic and abstractions in there. I would actually strongly disagree. I would estimate that I have had use of roughly 80% of what I learned at university, either directly or indirectly. Looking back, I realize just how good our initial programming courses were. That said, there were some very huge gaps, at least with the courses I took, most obviously: 1) How to work in larger, collaborative code-bases over a long period of time. 2) How to work effectively with requirements in a non-trivial business domain 3) How to manage legacy code/systems. But the reason I would prefer to hire people with degrees over those without is simple that a degree is at least some hint (however imperfect) that I'm dealing with someone capable of learning. Hopefully fast, and hopefully reasonably sophisticated things. The most valuable thing (to me) in a potential hire would be a desire to always improve and learn new things. It all depends on your uni (obviously, some have better courses than others). I just don't think it's a huge requirement or anything and way too many people think that if they get their CS degree they'll instantly become programmers (you wouldn't believe how many people apply for a job in my company only to learn they can't solve the most basic interview question). I even though about getting an engineer degree but when I solved some of the problems my friend needed help with (he was doing it at the time) I realized that it would just be a waste of every second weekend for the next 3 years just to get the paper. They give people some weird problems and after they get their degree they can't solve basically the only problem we give at interviews: Write a function (any language, can be pseudocode, doesn't have to be optimal) that gets a string as a parameter and returns first unique letter in it (or return '?' if no unique letter is found). Every single candidate is posed with this problem. It's not super trivial, but it doesn't require knowing anything past the absolute basics and some thinking. We do 5-10 interviews each week and we hired 3 people over past 4 months (and we need like 20 more). Most candidates fail on the above problem.
You don't even need something that complicated. We weed people with FizzBuzz and it's pretty embarrassing how many people can't write something you'd be able to write after the first month of an intro course.
|
How do these candidates even get through your resume and phone screens?
|
On June 12 2017 11:13 Blisse wrote: How do these candidates even get through your resume and phone screens?
Because corporate has some system that we have no control over.
|
28079 Posts
I'm so scared to start applying before I feel really confident that my base skills are where I believe they need to be. I can't understand how people who are clueless go around applying for jobs. Do they not know they are clueless, or are they hoping someone takes a chance on them or doesn't notice
|
|
|
|