<p>@Finnlet, could your Java class possibly been EECS 283? Very similar numbering, and 283 usually covers different programming languages outside of C++</p>
<p>Just to set the record straight on 183, I took the class first semester last year and helped others who took the class second semester, and the way it works is the first portion of the class (maybe 15-20%) is intro Python, then all C++ the rest of the way (for reference, of the 3 exams, the first is on Python, the second two are on C++). There is absolutely no Java whatsoever, so for the OP’s kid if the 6+ years of self-taught C++ programming is true (and even if it’s a few years less than that) 183 would be beyond a waste of time, and compared to how most people find 280 as very challenging and time-consuming it should be considerably easier for him.</p>
<p>Having said that, as has been alluded to in this thread, at least for last year they were pretty stringent on not letting people just bypass 183. For example a friend who had taken 182 the previous year (a now-discontinued class that sounded somewhat similar to 183) was forced to take 183 even though it was a waste of time for him, in order for him to transfer from LSA to CoE. Not that there aren’t ways around this requirement, as one of my roommates next year who is really advanced in CS never had to take 183 and jumped to 280, although that was two years ago so it might be a more recent thing of basically forcing everyone to start at 183. FWIW on the course guide, for 280 an “Enforced Prerequisite” is “One of: EECS 182 or 183, or ENGR 101 or 151.”, which at least means you’d have to get some kind of administrative override to enroll in 280 without taking any of those prereqs.</p>
<p>Also professor-wise for 280 (183 won’t matter for your son if has to take it), the general consensus for the 3 professors who taught it second semester last year and which I fully agree with is that DeOrio is best, followed by Ringenberg slightly worse although still good, and then Prakash is the worst.</p>
<p>Thanks for further details on 183 and 280, @ThePeanutMaster! That’s good info for my S to bring to the advisor when registering for classes. Perhaps he could even bring in some references for his prior projects written in C++/Python, in case that helps in getting an override.</p>
<p>See excerpt below from another thread by @WolverineTrader for those wondering how to test out ENGR 101/151 or EECS 183 into EECS 280:</p>
<p>UM offers a diagnostic tool to test out of EECS 183. Given project shouldn’t take too long to complete. With testing and debugging, maybe 2 hours or so.
More about the tool: <a href=“http://cs.lsa.umich.edu/are-you-ready-for-eecs-280/”>http://cs.lsa.umich.edu/are-you-ready-for-eecs-280/</a>
Page that has the tool: <a href=“http://g280.eecs.umich.edu/”>http://g280.eecs.umich.edu/</a></p>
<p>With a score of >= 90%, one can request for an override to register for 280. S’ advisor refused to give an override before he took this placement test, regardless of his prior programming experience.</p>
<p>(Thanks for the tips, @WolverineTrader !)</p>
<p>@parentOf2018
Glad to be of assistance.
Regarding EECS 280, there is a professor’s webpage for EECS 280 that has coherent course lectures I have been studying from: <a href=“http://www.andrewdeorio.com/teaching/eecs280/”>http://www.andrewdeorio.com/teaching/eecs280/</a>
For those curious, the webpage also contains previous EECS 280 projects & lab-notes. All the aforementioned combined together can serve as a useful (pre-course) study-guide.
From my experience, the topics covered, at least those that I’ve seen in the beginning lectures, are (easily) tolerable, and can serve as a review for experienced programmers.</p>
<p>Whether you have little or some programming experience, I still suggest that you start with EECS 183. There is a reason they’ve made it a pre-requisite. I had programmed before I took it (though at the time it wasn’t an enforced pre-req for 280), yet it helped me solidify my knowledge, and I think it is the reason I was successful in 280. It gave me a very good base, and it also taught me some Python, which is increasingly popular these days.</p>
<p>Thanks, @Oceanic787. That was my original concern too. But since post-placementTest discussions with both his LSA & CoE Advisors (especially the latter), he’s convinced that 280 is the right place to start to cover any holes he may or may not have after many years of programming in C++, Python, etc. </p>
<p>However, I agree with you in general, that it’s very important to have a very good base before one takes an upper-level class. That’s why I started this thread to solicit for folks’ opinions, and only stopped worrying after he took his placement test. His further discussion – incl. show-n-tell of his programming portfolio – with a CoE advisor helped convince him that his base is very well covered. So, yes, we don’t take this lightly :)</p>