yconic - Can engineering students take CS 145 instead of their programming course
Hide Menu

My Feed Money for School Student Help Brands Winners Support Center



Explore yconic
Explore Student Life Topics
Scotiabank
STUDENT CHAMPION
yconic proudly recognizes Student Champion Partners who are providing our community with superior support for their student journeys. Learn More
Student Help Brands

Can engineering students take CS 145 instead of their programming course

A photo of Mig Mig
(this post is for Waterloo CS/math/engineering students) The intro cs course I take in my program (SYDE 121) is an anti req to CS 135, so would it be possible for me to take cs 145 instead of my engineering cs course? Thanks!
Was this helpful? Yes 0
16 replies
 
A photo of x711Li x711Li
Why would you wish to take CS 145 over the SYDE programming course?

I would imagine the information conveyed within a programming course for engineering is far more applicable than the theoretical learnings in CS 145. Consider the fact that CS 135 delves into Scheme, a Lisp dialect. Assuming CS 145 is the advanced one, it probably delves even more into the theoretical side of CS, which may not be as useful as the applicable design theory (efficiency, scalability, etc.) you would find in engineering.
Was this helpful? Yes 0

 
A photo of greygoose greygoose

@x711Li wrote
Why would you wish to take CS 145 over the SYDE programming course?

I would imagine the information conveyed within a programming course for engineering is far more applicable than the theoretical learnings in CS 145. Consider the fact that CS 135 delves into Scheme, a Lisp dialect. Assuming CS 145 is the advanced one, it probably delves even more into the theoretical side of CS, which may not be as useful as the applicable design theory (efficiency, scalability, etc.) you would find in engineering.



Your ignorance is showing. If you can do abstraction and theory, you can sure as hell apply it. Lisp is also an incredibly powerful language, as are all functional languages. Even an engineer can appreciate their beauty.

I mean, considering the CPU time for 145 for assignment marking is set such that if your algorithm is not efficient enough, you get 0 on the question, etc... The problems you will be faced with are highly theoretical, but very difficult algorithms. Will make you a much better programmer than CS 135 or your eng course, most likely. It's quite the course and has recently got revamped. They split it in two because it was causing a lot of scheduling problems for those who took it. (Used to be just CS 145, forcing people to take a second year CS course to satisfy their major requirements.)

Anyhow, I suggest you contact the course professor. Though Quest has it unspecified, I have little doubt it will be Professor P. Ragde (google him for contact info). I'd also suggest contacting the SYDE advisors about the credit equivalency.

Worst comes to worst, you could just sit in on the class (it's currently scheduled TTh in MC 2054, 11:30-12:50... I have half a mind to sit in on it myself) and ask the professor to add you to Marmoset so you can do the assignments.
Was this helpful? Yes 0

 
A photo of noxx98 noxx98
Why the hell would you want to? Its not worth the extra work, and 145 will take up A LOT of your time. Do not do not do not do it.
Was this helpful? Yes 0

 
A photo of greygoose greygoose

@noxx98 wrote
Why the hell would you want to? Its not worth the extra work, and 145 will take up A LOT of your time. Do not do not do not do it.



Spoken like a true anti-intellectual. o_O

I didn't take it and I regretted every minute of it. I am contemplating sitting in on the 145 classes now having completed 135/136...
Was this helpful? Yes 0

 
A photo of rt7 rt7
greygoose, relax. cs145 isn't for everyone. i'm glad you think it would've saved you a term, but consider that it's possible that people can fail it and it might put them back a term.
Was this helpful? Yes 0

 
A photo of greygoose greygoose

@rt7 wrote
greygoose, relax. cs145 isn't for everyone. i'm glad you think it would've saved you a term, but consider that it's possible that people can fail it and it might put them back a term.



The OP wants to do a double engineering/CS major. I think he can handle it.

Second, who gives a crap about saving a term? That isn't what it was about at all. Hell, before they split 145 into two courses, it actually screwed you over if you weren't a CS major, creating more work. I truly don't understand peoples' sole focus on the courses, the marks, checking off degree requirements.

No, it's what you learn that's worth it. The content is simply so much higher quality than 135 (granted, I had an excellent prof so it was very good) and the dreck of 136 (which is in "dire need of first aid", quoting a few of the profs). The reason to take these courses is because the material is truly catered to those that love computer science, and you really learn things, rather than just going through the motions, as it often felt in the normal courses. It is hard as hell, but entirely worth it if you are willing to push yourself. I regret every minute of not taking it, because I had the choice to better myself and I let my lack of confidence stop me.

Third, people don't ever fail advanced courses. They drop down long before they fail. There is quite literally *no* penalty in trying them, other than some minor catchup. Most of the people that don't belong drop out in the first two weeks. Why would I encourage behavior that people might regret when there is no penalty to encourage them putting in a little more effort?

There is no harm in encouraging people to try harder and shoot higher, and having them miss. There *is* a problem with telling people to slack off or not take things seriously. It disadvantages them in their academic careers, in their future workplace, and in life. It is clear the OP has the motivation, so why rag on him, telling him it's not for everyone or a waste of his time? How about letting him make an informed decision through experience?

If you don't like it, please ignore me. I won't be offended. But don't act as though my advice is harmful. I meet too many intelligent people that didn't take the advanced classes and regretted it for that.
Was this helpful? Yes 0

 
A photo of rt7 rt7
first, sry i didn't know that the OP wanted to double major in cs and engineering (didn't even know it was possible).

"minor catchup" for you might be a hassle for other people. i would not want to start a couple weeks late for even bird courses. all i'm saying is that he should make sure he can handle cs 145.

i did not think your advice was harmful but i thought it was very condescending when you insulted other people for giving their advice.
Was this helpful? Yes 0

 
A photo of Locke Locke

@greygoose wrote

The OP wants to do a double engineering/CS major.



You can do that?
Was this helpful? Yes 0

 
A photo of greygoose greygoose

@Locke wrote
You can do that?



Not... usually :P If he really wants to, maybe he can find a way. Would have to be talking to advisors from the start though.


@rt7 wrote
"minor catchup" for you might be a hassle for other people. i would not want to start a couple weeks late for even bird courses. all i'm saying is that he should make sure he can handle cs 145.

i did not think your advice was harmful but i thought it was very condescending when you insulted other people for giving their advice.




How is the statement "do not do not DO NOT DO EXTRA WORK" not anti-intellectual? This was not an ad-hominem, it was a statement of fact. I was not trying to be insulting or condescending. Telling someone that they shouldn't do something because it's hard for no founded reasons is by definition "anti-intellectual", not to mention placing great doubt in a person's ability. *This* I find condescending.

I don't get it, you seriously were offended by this statement? o_O

Regarding missing a little bit of the normal classes, you would not get significantly behind at all by attending the advanced classes. Profs are very accommodating so long as you talk to them. First, you don't have to attend them to the exclusion of your other classes (I didn't, I went to both). Second, the first two weeks of 137 is basic high school review. The CS class is probably least equivalent to 135, but 135 spends its first two weeks teaching dead simple things like language syntax which you'd cover all in 145, and additionally, 145 jumped directly into very wonderful things right away. It is very very simple stuff you'd be missing in your first two weeks of classes. They go easy on you at first as you acclimatize. I'd recommend attending MATH 135 on the side, however; it covers some things you likely haven't seen in high school. Other than that, seriously, you would not get very behind. The first 135/137 assignments are pretty straightforward and aren't due until the end of that two week period usually.
Was this helpful? Yes 0

 
A photo of rt7 rt7

@greygoose wrote

How is the statement "do not do not DO NOT DO EXTRA WORK" not anti-intellectual? This was not an ad-hominem, it was a statement of fact. I was not trying to be insulting or condescending. Telling someone that they shouldn't do something because it's hard for no founded reasons is by definition "anti-intellectual", not to mention placing great doubt in a person's ability. *This* I find condescending.



they didn't explain why having extra work would be a bad thing, but i guess that maybe they think the OP would be overwhelmed with work in engineering. i'm just guessing - they would have to answer you on that.


@greygoose wrote

I don't get it, you seriously were offended by this statement? o_O



i'm not sure which statement you're referring to but either way i'm not offended


@greygoose wrote

Regarding missing a little bit of the normal classes, you would not get significantly behind at all by attending the advanced classes. Profs are very accommodating so long as you talk to them. First, you don't have to attend them to the exclusion of your other classes (I didn't, I went to both). Second, the first two weeks of 137 is basic high school review. The CS class is probably least equivalent to 135, but 135 spends its first two weeks teaching dead simple things like language syntax which you'd cover all in 145, and additionally, 145 jumped directly into very wonderful things right away. It is very very simple stuff you'd be missing in your first two weeks of classes. They go easy on you at first as you acclimatize. I'd recommend attending MATH 135 on the side, however; it covers some things you likely haven't seen in high school. Other than that, seriously, you would not get very behind. The first 135/137 assignments are pretty straightforward and aren't due until the end of that two week period usually.



i see your point but (understand 145 => understand 135) but (do not understand 145 =/= understand 135) and i just think the OP needs to understand the risk he's taking before he makes his decision

Was this helpful? Yes 0

 
A photo of x711Li x711Li
@greygoose:

Your comments were unnecessary. Everyone has the right to aid him in giving advice, we realize you are more experienced with advanced math courses alongside a CS background, but there's no need to be throwing out words like "ignorance" and "anti-intellectual". I doubt anyone was offended, but it looks poorly on your part.

Also, we were unaware Mig ever stated that he wished to do a CS/Engineering Double Major (where did he post this?). If this is the case, doing CS 145 (if possible) would be the only way to open up the tree of computer science courses required, considering CS 135 is an anti-requisite.
Was this helpful? Yes 0

 
A photo of greygoose greygoose
It is somewhat clear from the bashing of abstraction and theory that many of you would not be a good fit for the advanced classes. And that you are bashing Lisp without really knowing anything about it only serves to show the very definition of ignorance. You are talking down upon it without understanding it. People going into first year are going to be unable to distinguish between an informed and uninformed opinion.

Discouraging the attendance of a difficult class for the sole reasons of "it is a lot of work" and "it is a lot of time", claiming that it is not worth one's time without support is plainly anti-intellectual--cop-outs in the face of mind-bending, hard work that could better a person. A reasoned argument is another matter, but that is not what was presented.

You have presented no information. You have offered OP no help beyond "don't do it" for unjustified reasons.

I tend to avoid sugar-coating things as a rule. Just because these words have ugly connotations that you dislike does not mean they are not accurate. That you believe my use of them reflects poorly on me does not concern me. I would prefer to be blunt and honest.

Again, if you think the advanced courses are a waste of time, that's fine. There is nothing wrong with your opinion. But sadly, this kind of thinking can permeate an entire group. It is much easier to stick with the normal stream. I don't think the advanced classes get enough attention or credit, and I think many people miss out on them for this reason. As I've said, I have heard many many regrets of upper years in this regard--having missed the advanced classes because they were discouraged to join them or didn't know about them.

The easy choice doesn't need encouragement. I am sure the OP is intelligent enough to distinguish between the two workloads. I would appreciate if you didn't assume otherwise.

As such, if you have problems with what I'm saying, feel free to ignore it. I have said this enough now. I won't be addressing such petty criticism again; it is a waste of my time.
Was this helpful? Yes 0

 
A photo of aimango aimango
lol calm down people.
@OP: here's the thing: i doubt you will be able to fit it in your schedule since most CS courses are held in the afternoons or mornings, which is when all your other classes will be packed into.

i know a guy in my class who placed in like top 25 for CCC and went to IOI. he really wanted to take 145 but being an engineer, he had no room. so he had to take cs137.
Was this helpful? Yes 0

 
A photo of noxx98 noxx98

@greygoose wrote

@noxx98 wrote
Why the hell would you want to? Its not worth the extra work, and 145 will take up A LOT of your time. Do not do not do not do it.



Spoken like a true anti-intellectual. o_O

I didn't take it and I regretted every minute of it. I am contemplating sitting in on the 145 classes now having completed 135/136...


No, its spoken like a person who already had an incredibley difficult courseload, and understands the value in enjoying some free time to enjoy university. OP is an engineering major, which means they have a jam packed course load to begin with. I don't understand why OP would want to take on the additional time to do it. It wont benefit the OP very much in the future, since he wont be able to take CS courses later on (unless he's SE which i doubt he is).

Also, why sit in on 145? You learnt everything in 135/6, just spread out a bit longer. Sense, you make none.
Was this helpful? Yes 0

 
A photo of greygoose greygoose

@noxx98 wrote
No, its spoken like a person who already had an incredibley difficult courseload, and understands the value in enjoying some free time to enjoy university. OP is an engineering major, which means they have a jam packed course load to begin with. I don't understand why OP would want to take on the additional time to do it. It wont benefit the OP very much in the future, since he wont be able to take CS courses later on (unless he's SE which i doubt he is).

Also, why sit in on 145? You learnt everything in 135/6, just spread out a bit longer. Sense, you make none.



I took MATH 145/147, CS 135, PHYS 121, and ECON 101 (with Larry Smith) in my first term, the logical progressions of all those in my second. I am aware what an incredibly difficult courseload is like. I suspect having taken just the advanced math, I could claim mine was more difficult than yours.

Nonetheless, I had plenty of free time to enjoy myself. Going down to the pub nearly every weekend, hanging out with friends, going out for dinner, exploring campus at night, having small parties, clubbing, mixing music, etc. while still getting 8 hours of sleep a night. If you are unable to balance your courseload with allowing for some free time, it means you are either working too inefficiently or need to work on your time management. Living like this while taking a crazy courseload is totally doable! And I had some of the least free time compared to my other 14X classmates.

As I mentioned, the OP has told me he is interested in the possibility of a double SYDE/CS major. While I'm not sure how doable this is, I suspect he may be able to take CS 145 as a substitute for his SYDE programming course. Though engineers have many more courses, I wouldn't say they have a greater workload than an advanced math student. They may have a larger quantity of work, but the difficulty is less, so the time commitment averages out. How else could so many people survive engineering? People already call the advanced math students subhuman. Not to mention that if he enjoys 145 as much as I suspect, he will not notice the time commitment so much.

It is clear you did not take CS 145. CS 135/136 do not cover all the material taken in 145. Just because they were equivalent credit-wise does not mean they covered the same content, similar to MATH 14[5678] not covering the same content as 13[5678] while still being equivalent. I am aware of this difference because I have seen the 145 assignments and friends' lecture notes. Second week of classes they were already playing with binary trees. And Prof. Ragde has added tons more material, having totally redesigned the course. The new CS 145/146 are going to be absolutely fascinating. I missed out on a lot of the cooler functional stuff because I didn't take 145, and I often feel like I want to go back and fix that.


@noxx98 wrote

@Illuminar wrote
Go to the best college you can and work your ass off and own it, because no one is going to feel sorry for you.


This. Put yourself in the best position to succeed. Surrounding yourself with smart people helps make you smater, whether its through general competition, study groups etc. Plus the alumni network is excellent at Ivy schools.



Wait wait... but I thought you said... this. And now you are recommending against Mig putting himself in this exact situation. Hmm. Sense, it seems you make none either...
Was this helpful? Yes 0

 
A photo of choosecarefully choosecarefully
OP: Engineering programs won't let you substitute a non-engineering course for an engineering course. But if there is a course you can't take for credit, instructors will usually let you sit in, if you don't have a schedule conflict.
Was this helpful? Yes 0