Computer science grads/students

Page 2 - Seeking answers? Join the AnandTech community: where nearly half-a-million members share solutions and discuss the latest tech.

esun

Platinum Member
Nov 12, 2001
2,214
0
0
Originally posted by: Train
Originally posted by: esun
Not a CS major, but on the EE side of EECS. Of the required courses, we had: 1 class Scheme, 1 class C & MIPS asm, 1 class Java (algorithms and data structures). Non-required, our OS course used Java. Not sure what all the others used. I know one used Python. One was more open-ended so you could probably use whatever you want. Anyway, C & asm didn't show up a whole lot after that one course (except with microcontrollers, but I didn't use those until after graduating).

I kinda wish I had went to a college that used Scheme or Lisp, at least at the introductory level like MIT or Harvard does.

Trust me, you didn't miss much. If you really want the experience, though, the book used by MIT and Berkeley (and I'd bet any school using Scheme) is completely free and available online:

http://mitpress.mit.edu/sicp/

If you go through that book start to finish you'll probably have gotten a much more comprehensive overview than even we got in the class.
 

Jeff7

Lifer
Jan 4, 2001
41,596
20
81
Originally posted by: Leros
Originally posted by: Madwand1
C is an elegant, small language

C is just a nicer way of writing assembly :p
I've seen assembly here and there.

People who understand that stuff are likely one step short of being criminally-insane. :p
Just speak to the processor directly in binary and get it over with.;)


<---I do C programming for PIC chips as part of my job.


 

Kirby

Lifer
Apr 10, 2006
12,028
2
0
I've only had one java class, and it was just gui stuff basically. Everything else has been c/c++ and asm (hsc12 and mips) and now i'm doing mips asm -> machine code now.
 

Train

Lifer
Jun 22, 2000
13,587
82
91
www.bing.com
Originally posted by: esun
Originally posted by: Train
Originally posted by: esun
Not a CS major, but on the EE side of EECS. Of the required courses, we had: 1 class Scheme, 1 class C & MIPS asm, 1 class Java (algorithms and data structures). Non-required, our OS course used Java. Not sure what all the others used. I know one used Python. One was more open-ended so you could probably use whatever you want. Anyway, C & asm didn't show up a whole lot after that one course (except with microcontrollers, but I didn't use those until after graduating).

I kinda wish I had went to a college that used Scheme or Lisp, at least at the introductory level like MIT or Harvard does.

Trust me, you didn't miss much. If you really want the experience, though, the book used by MIT and Berkeley (and I'd bet any school using Scheme) is completely free and available online:

http://mitpress.mit.edu/sicp/

If you go through that book start to finish you'll probably have gotten a much more comprehensive overview than even we got in the class.

Ya I actually downloaded the book a few months ago, want to read it when I get some time.

I just keep reading so many coders say that just getting to understand Lisp/Scheme changes the way you think about writting code. I'm always looking for different perspectives.

 

iGas

Diamond Member
Feb 7, 2009
6,240
1
0

Very little C for my CS schooling and the rest were C++ a decade ago, however my first IT job required much C programing. School is one thing, but in reality you have to adapt to your working environment or decease.
 

iGas

Diamond Member
Feb 7, 2009
6,240
1
0
Originally posted by: Jeff7
Originally posted by: Leros
Originally posted by: Madwand1
C is an elegant, small language

C is just a nicer way of writing assembly :p
I've seen assembly here and there.

People who understand that stuff are likely one step short of being criminally-insane. :p
Just speak to the processor directly in binary and get it over with.;)


<---I do C programming for PIC chips as part of my job.
What ya saying?

My best friend & I aren't anywhere near insane, and our favorite programing language were Assembly in the mid-late 80s.

PS. Assembly was the way to fly for hacking drivers ;)
 

TecHNooB

Diamond Member
Sep 10, 2005
7,458
1
76
Originally posted by: iGas
Originally posted by: Jeff7
Originally posted by: Leros
Originally posted by: Madwand1
C is an elegant, small language

C is just a nicer way of writing assembly :p
I've seen assembly here and there.

People who understand that stuff are likely one step short of being criminally-insane. :p
Just speak to the processor directly in binary and get it over with.;)


<---I do C programming for PIC chips as part of my job.
What ya saying?

My best friend & I aren't anywhere near insane, and our favorite programing language were assembly in the mid-late 80s.

Assembly is probably the easiest language to understand. I find picking up the nuances of all other languages (above C) much more difficult.
 

DrPizza

Administrator Elite Member Goat Whisperer
Mar 5, 2001
49,601
167
111
www.slatebrookfarm.com
2 or 3 semesters in Pascal, then one semester on programming languages after we were experts in Pascal. 2 weeks spent on C and C+ (I think there was just one + at that point?), ADA, Cobol, Assembly, Fortran, and XLisp. Damn, I hated XLisp. That was a couple decades ago though. Since then, I've taught myself Java. I still have a desire to learn some more, but just haven't had the time.
 

newnameman

Platinum Member
Nov 20, 2002
2,219
0
0
Originally posted by: DrPizza
2 or 3 semesters in Pascal, then one semester on programming languages after we were experts in Pascal. 2 weeks spent on C and C+ (I think there was just one + at that point?), ADA, Cobol, Assembly, Fortran, and XLisp. Damn, I hated XLisp. That was a couple decades ago though. Since then, I've taught myself Java. I still have a desire to learn some more, but just haven't had the time.

lol, no
 

EagleKeeper

Discussion Club Moderator<br>Elite Member
Staff member
Oct 30, 2000
42,589
5
0
Originally posted by: DrPizza
2 or 3 semesters in Pascal, then one semester on programming languages after we were experts in Pascal. 2 weeks spent on C and C+ (I think there was just one + at that point?), ADA, Cobol, Assembly, Fortran, and XLisp. Damn, I hated XLisp. That was a couple decades ago though. Since then, I've taught myself Java. I still have a desire to learn some more, but just haven't had the time.


C did not even exist.

Cobol, Fortran, Assembly and some Pascal were taught at the graduate level.

 

Apathetic

Platinum Member
Dec 23, 2002
2,587
6
81
C was mandatory in my operating systems, compiler design, and networking classes.

Dave
 

AyashiKaibutsu

Diamond Member
Jan 24, 2004
9,306
4
81
Originally posted by: GodlessAstronomer
I'm so sick of C programming. Yeah I get it, it's the best language for teaching algorithms and operating systems, but damn I hate this language. Arg! I miss my first year where they eased us in by using Java. I :heart: objects.

/rant-while-doing-homework

Short of like prolog or haskell it's probably one of the worst languages to teach algorithms on. I don't really care for c++, but I appreciate it when I need to make calls to windows and for not having code bogged down by a virtual machine. Java or C# are much better for teaching generic programming principles like algorithms because the syntax is much more straight forward. The college I went to used java for generic classes. Even though it's not the best for teaching I kind of wish they used it just so I'd have more exposure to it. Used C++ in programming in a second language and windows api programming classes.

I've seen assembly here and there.

People who understand that stuff are likely one step short of being criminally-insane.
Just speak to the processor directly in binary and get it over with.

Assembly is my favorite language >.< Got an easy A in what was probably the hardest class I took in college because of how into it I was.

 

Modelworks

Lifer
Feb 22, 2007
16,240
7
76
Originally posted by: Jeff7
Originally posted by: Leros
Originally posted by: Madwand1
C is an elegant, small language

C is just a nicer way of writing assembly :p
I've seen assembly here and there.

People who understand that stuff are likely one step short of being criminally-insane. :p
Just speak to the processor directly in binary and get it over with.;)


I program in ASM and C and also have papers to prove my mental status as 'questionable' !


<---I do C programming for PIC chips as part of my job.

Which compiler are you using ? I have been looking at switching to hi-tech , currently using CCS, but I don't like their new interface design and support hasn't been as good as in the past.
 

ivan2

Diamond Member
Mar 6, 2000
5,772
0
0
www.heatware.com
done C in networking writing UNIX and linux sockets. that's about it. i would prefer more exposure to it though, however i haven't even seen a program written in C after I left school =P
 

theknight571

Platinum Member
Mar 23, 2001
2,896
2
81
lol... Most of my course work was done in Pascal, a little bit of C/C++ in my senior year, but not much.

They were however phasing in C/C++ as the language of choice when I graduated.

My favorite language I used was Ada. I don't know what it was about it, but I remember it being my favorite class at the time.
 

Aikouka

Lifer
Nov 27, 2001
30,383
912
126
C isn't really used unless you work in defense or writing low-level code (drivers, etc). Heck, a lot of projects I see in the defense industry are starting to use Java as well. You pretty much either need good C/C++ knowledge or a good foundation in Java/J2EE.

As for college, we mostly used C++ with some Java, Scheme, Lisp and Assembly mixed in (the latter languages were typically used a little bit in higher level courses). I ended up teaching myself C# and Java for the most part.

Originally posted by: Train
I kinda wish I had went to a college that used Scheme or Lisp, at least at the introductory level like MIT or Harvard does.

Really? :eek: My lowly college used those as I believe it was part of the ACM curriculum of what topics computer science students should cover.

Originally posted by: Glitchny
Oh actually we did 1 project using Java, it's like C with training wheels and IMO doesn't teach enough low level memory management techniques and theories to be used exclusively.

That's usually the case in managed languages. I'm pretty certain that most people that take courses in C# don't even learn that you can control aspects of the garbage collection yourself. I don't know if such things are possible in Java as I never dug too deep in that aspect.
 

Zeeky Boogy Doog

Platinum Member
Mar 31, 2004
2,295
1
0
I had Java for my intro classes, one C++ class, and one assembly class, this semester I've got one we can choose C++ or Java, one that's exclusively C and one that's mostly Python. Next semester I think I'll be using Scheme and Prolog for one class, and probably Java for another.

So far my favorite has been Python. I hated C++, I felt like I was writing half of that code to do the job, and the other half to get the damn thing to compile... Java I like much better than C++, at least I feel like I break 1 on the work/syntax code ratio. C I haven't minded as much, but that's because we've just been modifying programs instead of writing them from scratch and they've been fairly simple.
 

CountZero

Golden Member
Jul 10, 2001
1,796
36
86
Originally posted by: Leros
Originally posted by: Train
College consisted of C++ with an assembly class thrown in so you could learn the guts of a CPU

There was an elective Java class my last year, Java was new then, lol.

I dont know why colleges teach managed languages first nowadays. Just seems backwards.

You can either teach top down or bottom up.

We started with transistors, slowly built that up to a computer, then learned assembly, then learned C, then learned Java...

That seems like a colossal waste of time. All that time spent building up a computer could've been done in parallel to starting at like C and learning programming basics.

Was that CS, EE or CE? I'm a bit surprised they cover transistor level for CS, did you cover anything besides CMOS?

When I went to school the intro programming course was taught in C for one quarter than C++ for the next. When I went back a few years later it had switched to Java which led to a major headache as I was TAing an embedded systems class full of students that had only ever programmed in Java and now had to learn how to make data structures in C using pointers and such.

I think a sequence that did C for the first quarter of basic programming and introduced pointers and such and then moving to Java the second quarter for the OO stuff would be a nice middle ground.
 

Leros

Lifer
Jul 11, 2004
21,867
7
81
Originally posted by: CountZero
Originally posted by: Leros
Originally posted by: Train
College consisted of C++ with an assembly class thrown in so you could learn the guts of a CPU

There was an elective Java class my last year, Java was new then, lol.

I dont know why colleges teach managed languages first nowadays. Just seems backwards.

You can either teach top down or bottom up.

We started with transistors, slowly built that up to a computer, then learned assembly, then learned C, then learned Java...

That seems like a colossal waste of time. All that time spent building up a computer could've been done in parallel to starting at like C and learning programming basics.

Was that CS, EE or CE? I'm a bit surprised they cover transistor level for CS, did you cover anything besides CMOS?

When I went to school the intro programming course was taught in C for one quarter than C++ for the next. When I went back a few years later it had switched to Java which led to a major headache as I was TAing an embedded systems class full of students that had only ever programmed in Java and now had to learn how to make data structures in C using pointers and such.

I think a sequence that did C for the first quarter of basic programming and introduced pointers and such and then moving to Java the second quarter for the OO stuff would be a nice middle ground.

Oh, this was for CE.

I'm almost majoring in CS. In CS, they start you off with Intro to Programming, then Data Structures. Somewhere around your third semester, you take a basic computer architecture class, just to get a feel for things.
 

esun

Platinum Member
Nov 12, 2001
2,214
0
0
Originally posted by: theknight571
lol... Most of my course work was done in Pascal, a little bit of C/C++ in my senior year, but not much.

They were however phasing in C/C++ as the language of choice when I graduated.

My favorite language I used was Ada. I don't know what it was about it, but I remember it being my favorite class at the time.

Oh god no. I've never written in Ada, but from what I know VHDL was modeled on it and boy do I hate VHDL (compared to say Verilog). So verbose it's painful.
 

EagleKeeper

Discussion Club Moderator<br>Elite Member
Staff member
Oct 30, 2000
42,589
5
0
Originally posted by: Aikouka
C isn't really used unless you work in defense or writing low-level code (drivers, etc). Heck, a lot of projects I see in the defense industry are starting to use Java as well. You pretty much either need good C/C++ knowledge or a good foundation in Java/J2EE.

As for college, we mostly used C++ with some Java, Scheme, Lisp and Assembly mixed in (the latter languages were typically used a little bit in higher level courses). I ended up teaching myself C# and Java for the most part.

Originally posted by: Train
I kinda wish I had went to a college that used Scheme or Lisp, at least at the introductory level like MIT or Harvard does.

Really? :eek: My lowly college used those as I believe it was part of the ACM curriculum of what topics computer science students should cover.

Originally posted by: Glitchny
Oh actually we did 1 project using Java, it's like C with training wheels and IMO doesn't teach enough low level memory management techniques and theories to be used exclusively.

That's usually the case in managed languages. I'm pretty certain that most people that take courses in C# don't even learn that you can control aspects of the garbage collection yourself. I don't know if such things are possible in Java as I never dug too deep in that aspect.

C and ADA are the two biggies in embedded avionics.
C is heavily used in embedded automotive when no OS is present.

Much depends on the OS being used and the targeted platforms.