|
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. |
On April 11 2017 14:30 CorsairHero wrote:for you c experts: int i = 4; i++ & printf("%d\n", i);
I compiled with gcc which gave me a different result than expected... any insight? That would work with a logical and.
|
On April 11 2017 14:44 Nesserev wrote:Show nested quote +On April 11 2017 14:30 CorsairHero wrote:for you c experts: int i = 4; i++ & printf("%d\n", i);
I compiled with gcc which gave me a different result than expected... any insight? My insight: cut of the hands of whoever wrote this, may he or she never write code again. /jk Also, sequence points (well, the lack thereof) explain any unexpected results in this case. why would I be seeing 5 then :\
On April 11 2017 14:54 Hanh wrote:Show nested quote +On April 11 2017 14:30 CorsairHero wrote:for you c experts: int i = 4; i++ & printf("%d\n", i);
I compiled with gcc which gave me a different result than expected... any insight? That would work with a logical and. because its not modifying "i" more than once right?
|
On April 11 2017 15:01 CorsairHero wrote:Show nested quote +On April 11 2017 14:44 Nesserev wrote:On April 11 2017 14:30 CorsairHero wrote:for you c experts: int i = 4; i++ & printf("%d\n", i);
I compiled with gcc which gave me a different result than expected... any insight? My insight: cut of the hands of whoever wrote this, may he or she never write code again. /jk Also, sequence points (well, the lack thereof) explain any unexpected results in this case. why would I be seeing 5 then :\ Is it so surprising in hindsight? Looks like the program is evaluating the i++ and printf before evaluating the &.
After some googling, I'm convinced that this is legal C++, because printf returns an integer. So this example is legal with both & and &&, imho.
EDIT: I take that back. As Nesserev points out in the post below, the order of evaluation is undefined. Damnit =) EDIT EDIT: It was still a lot of fun thinking about this.
|
|
Hey guys, I'm currently starting my first semester of Computer science in my university and they're having a undergraduate research event where few projects will be selected and funded. I know that with my limited lack of knowledge/skill it'll be hard to be chosen let alone present a sophisticated proposal, but I'd really love to give an attempt at it (It would be so much better to spend my whole summer break coding than work at a part time job). Do you guys have any suggestions or areas I can look into where I can present a project that can be doable and be something new at the same time? Thank you for your help!
|
|
Agree. CS is mostly an engineering science. Only very few aspects of it are useful for their own sake (and those usually only to other computer scientists. The main use of CS is in making other people's lives easier, but instead of building a bridge to cross a river where there used to be only ferries, you are building a piece of software that brings new functionality. If you are not solving a problem outside of CS, you are probably not doing anything of value.
Note that that doesn't mean it's "merely an application". Some problems require the development of new algorithms, architectures, etc. and push the cutting edge of CS further (just as some bridges are routine and others push material research and bridge construction to their limits). Given that you are in your first semester, I wouldn't go with any such fiendishly hard problems: there are two important parts to a project application: one part is showing why the problem is important, another is showing why you are the right person to solve it.
|
|
On April 11 2017 23:49 Nesserev wrote:Show nested quote +On April 11 2017 21:37 SiZ.FaNtAsY wrote: Hey guys, I'm currently starting my first semester of Computer science in my university and they're having a undergraduate research event where few projects will be selected and funded. I know that with my limited lack of knowledge/skill it'll be hard to be chosen let alone present a sophisticated proposal, but I'd really love to give an attempt at it (It would be so much better to spend my whole summer break coding than work at a part time job). Do you guys have any suggestions or areas I can look into where I can present a project that can be doable and be something new at the same time? Thank you for your help! First and foremost, focus on --> creating value <--. It's the most reliable way to get your project accepted. After 1 semester, or even 6/8 semesters, I doubt you would produce anything of actual value if you stay purely within the realm of Computer Science. Also, after only 1 semester worth of programming experience (I'm making assumptions here, maybe you started programming long before), your ability to program is probably still very lacking. Keep that in mind. That said, as a student, you're in an ideal position for recognizing student problems, so perhaps you should go down the route of researching your own education? When you encounter a problem (or the symptoms of a problem) during your studies, analyze the problem, and see if it could be a valuable endeavour to "solve" that problem. It could involve coding, maybe not. It could involve one or more of your professors, maybe not. An example of student encountered problems is errata. Almost every book has errata, all course material has errata, etc. Why not set up a web application where professors/students/etc. can add errata and discuss these? Websites exist that already do this for fiction books/most high profile books, but this is usually not available for your university's own material. Students may notify the professor on errata, but there's a lot of ifs involved... some course material might still have errata from 199X. Professors are busy people. Then there are other options such as improving parts of your classes, optimizing the line at lunch (seriously, look into this... no joke), introducing best practices, introducing project conventions, do senior students miss something in your curriculum, etc. Hopefully this helps. TL;DR: look into your own education and needs for problems.
Thank you so much for the great tips! The advice on creating value is something I'll definitely have on my mind while I try to come up with a proposal.
|
Okay, question for those who know about this.
I want to work in Machine Learning. It's something that has been in the back of my mind since before I even got into a CS program. I am extremely driven towards that goal.
I told a friend of a friend this and they basically said "then you're gonna need at least a Master's degree".
Is that true? I don't really want to go for a Master's because I am married, my wife is working and has been working since I started school. I told her I was only going for a Bachelor's. Also, I am already in my 30s (I will be 33 soon).
I want to reasonably contribute to our finances, and I don't want to be in school for so long... But mainly I want to contribute to our finances, I feel like she shouldn't have to carry us. Furthermore, my grades are not super competitive and if I did get into grad school we'd probably have to move meaning she would have to find another job somewhere else and the whole thing would be difficult.
Anyways back to the question. Can I get a job in machine learning? I don't feel like I need to be in grad school to learn. I can teach myself things on my free time. I will regardless of whether or not I am actually working in the field, but I'd rather be working on the topic that I am interested in.
Actually what I am interested in most of all is this:
https://research.google.com/teams/brain/residency/
but I'll stay realistic about what will and won't happen.
|
On April 11 2017 15:18 Nesserev wrote:Show nested quote +On April 11 2017 14:48 beg wrote:On April 11 2017 14:30 CorsairHero wrote:for you c experts: int i = 4; i++ & printf("%d\n", i);
I compiled with gcc which gave me a different result than expected... any insight? What did you think the & does? I think it's trying to do "bitwise and" here. (Just guessing. Definitely not an expert  ). Well, both 'i++' and 'printf("%d\n", i)' will be evaluated: - i++ increments i with one, evaluates as i before increment - printf prints i, evaluates as the number of characters printed However, the bitwise operators do not have short-circuit evaluation like the logical && and || operators, so the things happening above have an undefined order. One compiler might evaluate 'i++' first, another might print i first. Also, nothing is done with the result of this bitwise operation. thanks for the explanation!
|
edit: wow im a dumb idiot how many times in a row can i do basic math wrong?
|
On April 12 2017 03:57 CorsairHero wrote:Show nested quote +On April 11 2017 15:18 Nesserev wrote:On April 11 2017 14:48 beg wrote:On April 11 2017 14:30 CorsairHero wrote:for you c experts: int i = 4; i++ & printf("%d\n", i);
I compiled with gcc which gave me a different result than expected... any insight? What did you think the & does? I think it's trying to do "bitwise and" here. (Just guessing. Definitely not an expert  ). Well, both 'i++' and 'printf("%d\n", i)' will be evaluated: - i++ increments i with one, evaluates as i before increment - printf prints i, evaluates as the number of characters printed However, the bitwise operators do not have short-circuit evaluation like the logical && and || operators, so the things happening above have an undefined order. One compiler might evaluate 'i++' first, another might print i first. Also, nothing is done with the result of this bitwise operation. thanks for the explanation!
If && is used in C++, then I remember reading that the left side is guaranteed to be evaluated first unless you commit a programming crime to override some operators. I don't know about C. I suppose the same should apply if C++ is compatible with C in this case.
Edit: I know you're talking about &. I thought I could share some information.
|
On April 12 2017 03:53 travis wrote:Okay, question for those who know about this. I want to work in Machine Learning. It's something that has been in the back of my mind since before I even got into a CS program. I am extremely driven towards that goal. I told a friend of a friend this and they basically said "then you're gonna need at least a Master's degree". Is that true? I don't really want to go for a Master's because I am married, my wife is working and has been working since I started school. I told here I was only going for a Bachelor's. Also, I am already in my 30s (I will be 33 soon). I want to reasonably contribute to our finances, and I don't want to be in school for so long... But mainly I want to contribute to our finances, I feel like she shouldn't have to carry us. Furthermore, my grades are not super competitive and if I did get into grad school we'd probably have to move meaning she would have to find another job somewhere else and the whole thing would be difficult. Anyways back to the question. Can I get a job in machine learning? I don't feel like I need to be in grad school to learn. I can teach myself things on my free time. I will regardless of whether or not I am actually working in the field, but I'd rather be working on the topic that I am interested in. Actually what I am interested in most of all is this: https://research.google.com/teams/brain/residency/but I'll stay realistic about what will and won't happen.
note i'm still in school and not an expert but from the hours i've spent just browsing the web and r/cscareerquestions: something you could do is go into industry with your bachelors and then do an online masters parttime such as georgia tech's (OMSCS) which I heard is pretty good. your employer may even pay for your master's education depending on situation/company.
if both are really important to you that may be a viable path
anyone else feel free to correct me or chime in
|
On April 12 2017 03:53 travis wrote:Okay, question for those who know about this. I want to work in Machine Learning. It's something that has been in the back of my mind since before I even got into a CS program. I am extremely driven towards that goal. I told a friend of a friend this and they basically said "then you're gonna need at least a Master's degree". Is that true? I don't really want to go for a Master's because I am married, my wife is working and has been working since I started school. I told her I was only going for a Bachelor's. Also, I am already in my 30s (I will be 33 soon). I want to reasonably contribute to our finances, and I don't want to be in school for so long... But mainly I want to contribute to our finances, I feel like she shouldn't have to carry us. Furthermore, my grades are not super competitive and if I did get into grad school we'd probably have to move meaning she would have to find another job somewhere else and the whole thing would be difficult. Anyways back to the question. Can I get a job in machine learning? I don't feel like I need to be in grad school to learn. I can teach myself things on my free time. I will regardless of whether or not I am actually working in the field, but I'd rather be working on the topic that I am interested in. Actually what I am interested in most of all is this: https://research.google.com/teams/brain/residency/but I'll stay realistic about what will and won't happen. Very near my field (I'm moving laterally from AI into more and more data sciency stuff).
Short answer: yes, you can.
Long answer: it really depends on what you want, and (at least in Europe, US might be different) for the more interesting jobs, a master, or even a PhD is asked, or alternatively, professional experience in the area. Good news is that the area is booming, and there's a (very) serious shortage of (good) data scientists, so having a general idea of data science and a decent grasp of statistics is sometimes enough to get you into basic level jobs. But not at Google.
What you absolutely do need is a decent grasp of statistics. Other than that it really depends on the field. The current hot topic is deep learning (remember that dinky perceptron network that you learned about in an introductory course on ML/AI? Well, that, but on crack). So if you are currently looking for a fast track into big data science, focus on that. Deep Learning will soon (already) be used in applications ranging across a big number of challenging applications for computer learning, such as computer vision (self-driving cars, security, new holodeck-esque UI), language understanding (NLP, speech-to-text, text-to-speech: think Siri), IoT controlling (learning your behaviour patterns and adapting to them) and many many other areas: it's basically the current king of pattern recognition. But that is not necessarily what you need. You may need to use more traditional approaches because your application domain is not suited for deep learning. For instance, because you don't have lots of data, the data is not correctly structured for automatic feature extraction, or your aim is not really pattern recognition but a different form of learning (e.g. reinforcement learning).
Coming from a background of AI (and thus having quite a lot of the basics down already), I found coursera very useful to pick up specifics (in the field I wanted to apply it to, but also in general as a course in ML. Andrew Ng has a fantastic course on machine learning on Coursera, with a tiny bit about deep learning (as it should, he's one of the founders of the deep learning field). I would start there. Just make sure you have the prerequisites down (mostly linear algebra, and some statistics). I would also learn about statistical inference (a more statistical approach to machine learning), because it focuses more on the validity and significance of your results than most machine learning courses will go into, and knowing when something that looks good is nevertheless trash is just as important as (if not sometimes even more important than) knowing how to use machine learning techniques on your data.
And with all that, I will just add that the Google residency looks awesome. Very competitive, and there will be people more qualified than you, but it looks like a partial objective of theirs is diversity. If that's what you're looking to do, there doesn't seem to be any harm in applying. Write a good cover letter and who knows.
|
Thanks acrofales, I appreciate the detailed reply. I really owe a lot to you and others in this thread.
Let me ask you about a more specific goal. I want to specifically work in machine learning research. Would it be silly to work on side projects and my own research while being employed, or is grad school the only reasonable direction if I want to reach this kind of position?
|
Hyrule18975 Posts
CS research is usually done by PhDs and grad students
|
You will certainly need to pursue graduate school, very likely get a PhD. Knowing this, if you are still interested, you can do research after your PhD in the industry (Microsoft, I've heard, is very friendly towards publishing in machine learning).
|
On April 12 2017 08:34 travis wrote: Thanks acrofales, I appreciate the detailed reply. I really owe a lot to you and others in this thread.
Let me ask you about a more specific goal. I want to specifically work in machine learning research. Would it be silly to work on side projects and my own research while being employed, or is grad school the only reasonable direction if I want to reach this kind of position? This is me speaking from the point of view of research in academia. I haven't had any experience with research in industry so can't say anything about it. Have you had any experience in machine learning research so far? Unless you had actual experience like at a research lab working on a publication with other researchers its hard to really know what research actually is and if its really right for you. If you hadn't yet I would first read the publications of research labs you're interested in at your school. Then after I would contact the professors and see if you would be able to intern at their labs to get a better understanding to see if its really what you want to do. I'm saying this because there is huge difference between applying machine learning and actually doing research in it.
|
On April 12 2017 08:34 travis wrote: Thanks acrofales, I appreciate the detailed reply. I really owe a lot to you and others in this thread.
Let me ask you about a more specific goal. I want to specifically work in machine learning research. Would it be silly to work on side projects and my own research while being employed, or is grad school the only reasonable direction if I want to reach this kind of position?
There's nothing stopping you doing your own research in machine learning. I think the biggest hurdle will be access to data and access to computing resources. But if you can find a topic that's viable with available data and the machines you have then go for it.
I don't know if you're aware, but the site arxiv.org is a place for pre-publication of scientific research papers. It has about 10-20 machine learning papers come up each day. Would be worth a read if you want to be more knowledgeable in the field.
Right now I'm taking a course in mathematical biology/neuroscience, and the research that goes in is closely tied to neural networks and AI. In a recent lecture there was a slide with about 20 different machine learning companies on it, to show how much of an industry it has become recently. I would suggest looking up a few of these companies and checking what they are looking for in a candidate.
|
|
|
|