Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

ArtOfWarfare

macrumors G3
Original poster
Nov 26, 2007
9,558
6,058
I'll be graduating with my BS in Computer Engineering this Spring and I'd like to take an elective (Compilers) that's offered in the Computer Science department.

I asked about it and was told that if I want to take that course, I needed to take a pre-req that's not being offered at my school before I graduate. They suggested that I find an equivalent accredited online course.

The pre-req is called Programming Languages. Here's the description:

Introduces a systematic approach to understanding the behavior of programming languages. Covers interpreters; static and dynamic scope; environments; binding and assignment; functions and recursion; parameter-passing and method dispatch; objects, classes, inheritance, and polymorphism; type rules and type checking; and concurrency.

I've already taken all the pre-reqs for this class, which are Theory of Computation (all about the complexity/classification of problems) and Object Oriented Design (no explanation needed, right ;)?)

So, anyone know where I can take an equivalent online course this Fall? (And it needs to be accredited.)
 
Last edited:

ArtOfWarfare

macrumors G3
Original poster
Nov 26, 2007
9,558
6,058
http://ecampus.oregonstate.edu/online-degrees/undergraduate/computer-science/

This is a program for those who already have a bachelor's degree. Maybe they would make an exception for what you are doing. Try to get to someone higher up than a counselor if you get a "no". The general office staff might be students working part time just following procedure.

I need a single course, not an entire degree program. I looked at the classes that are apart of their degree and it doesn't even look like they include anything comparable to the Programming Languages class I need. The degree seems built around the idea of using existing languages rather than creating new languages.
 

numero

macrumors regular
Jul 23, 2002
106
3
OR
My bad. I thought you needed CS271, but you need CS381 and that is not offered online.
 

ArtOfWarfare

macrumors G3
Original poster
Nov 26, 2007
9,558
6,058
My bad. I thought you needed CS271, but you need CS381 and that is not offered online.

Oh well.

After talking with some professors at school, I've been told I can probably take Compilers without Programming Languages given how many languages I'm already experienced with (C, C++, Obj-C, Java, JavaScript, Python) plus how many other languages I'm somewhat familiar with (Smalltalk + some esolangs.)
 

numero

macrumors regular
Jul 23, 2002
106
3
OR
That's the order I did mine as well. I took the programming languages class during a heavy summer session. I ended up dropping that course because it was the one I was understanding the least and I had to lighten my load by 1 class. I took the compilers class in the fall and had no trouble with it. I took the programming languages class later that year and understood it better because I already had the hands-on experience with the compilers class.

Glad your school is flexible and best of luck in the classes.
 

MeFromHere

macrumors 6502
Oct 11, 2012
468
16
Oh well.

After talking with some professors at school, I've been told I can probably take Compilers without Programming Languages given how many languages I'm already experienced with (C, C++, Obj-C, Java, JavaScript, Python) plus how many other languages I'm somewhat familiar with (Smalltalk + some esolangs.)

Nearly every rule at a college has an an exception that can be granted via the right person's signature. "Permission of the professor" can usually be substituted for a prerequisite, so you are on the right track.

Your experience in languages is narrow in one sense -- most of them are based on C, and they share the same slightly warped viewpoint. You probably don't need the extra course, but you might benefit from some self-study in other directions.

When I took the Programming Languages course (decades ago) it made a point of covering languages far outside the mainstream. Algol gave us an excuse to study pass-by-name. Lisp was completely different from everything else we'd seen at that point. SNOBOL showed us regular expressions and unusual way of organizing programs. Different stuff counts as novel today.

Something from the Pascal family of languages might be worth some of your time. The accumulation of small differences between C and Pascal (for example) yields languages with a very different feel.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.