23 votes

Should assembly language be taught in an introductory course (or soon after)?

I think there is very limited benefit in teaching assembly so early, and it's more likely to just scare away your students. When I started learning programming, I thought bare-metal OS development ...
Aurora0001's user avatar
  • 3,516
20 votes

Is it worthwhile to teach assembly nowadays?

I think so, yes. However, I also believe teaching assembly isn't valuable because it could hypothetically teach students how to write "faster programs" -- compilers these days are smart enough that ...
Michael0x2a's user avatar
  • 4,005
8 votes

Should assembly language be taught in an introductory course (or soon after)?

While there is a natural appeal to teaching assembly programming (hey, we can build everything up from first principals!), early students really need to master sequencing and organization at a higher ...
Ben I.'s user avatar
  • 33.1k
7 votes

Should assembly language be taught in an introductory course (or soon after)?

Yes: Some machine level behaviour is important at an early stage, to retain a diverse interest in the subject. Some students will find it necessary to understand what a computer is doing 'under the ...
Sean Houlihane's user avatar
7 votes

Is it worthwhile to teach assembly nowadays?

It may not be as essential today to teach a particular assembly language to students. It certainly isn't necessary for them to learn assembly language early in their education, especially first. ...
Buffy's user avatar
  • 36.1k
7 votes
Accepted

How do you wow second-year students into saying "bare-metal programming is cool!"?

First, just a disambiguation: are you teaching Assembly language or C? Cos, they are not same as your question seems to suggest. C is a high-level procedural clean code language with tremendous ...
Mallam Awal's user avatar
7 votes

Is it worthwhile to teach assembly nowadays?

I may be biased by being a computer architect, but I would not consider a Computer Science education complete without knowledge of what a computer actually is. This includes having a general idea ...
nengel's user avatar
  • 331
6 votes

Is it worthwhile to teach assembly nowadays?

It depends on the level you're teaching. You certainly don't need to introduce assembly language in the first year, and you certainly don't need it to "get stuff done" or to make a "real" application....
Kevin Workman's user avatar
5 votes

Should assembly language be taught in an introductory course (or soon after)?

Teaching how to write assembly is questionable at best. Teaching how to read assembly is IMHO crucial, and comes naturally as a part of C/C++ curriculum. For example, try to explain what atomics are, ...
user58697's user avatar
  • 532
5 votes

Should assembly language be taught in an introductory course (or soon after)?

I don't think there's much point teaching students to write assembly code purely for the sake of it. There are more useful and productive tools / languages / concepts that would be a better use of ...
pddring's user avatar
  • 806
5 votes

Good beginning assembly language for teaching about stack function calls

Go with the 6502. Its market penetration and popularity has generated a lot of resources over the years, giving you more to work with. Looking into the "home-brew CPU" realm should supply significant ...
Gypsy Spellweaver's user avatar
5 votes

What hardware can I use when teaching Compiler Language and Assembly Code

The 32-bit subsets of ARM assembly language are fairly clean, orthogonal and RISC-like, as well as being a reasonably nice target for a simple compiler. Inexpensive Raspberry Pi's run 32-bit ARM code,...
hotpaw2's user avatar
  • 1,895
4 votes
Accepted

What hardware can I use when teaching Compiler Language and Assembly Code

My first piece of advice would be to avoid any modern hardware (and possibly to avoid hardware itself, as the simulators out there are pretty good). As far as I can tell, all of the very cheap ...
Ben I.'s user avatar
  • 33.1k
4 votes

Good beginning assembly language for teaching about stack function calls

Have you considered using a microcontroller assembly? My first CPU design and assembly course, which also combined both courses, was based on the PIC microcontroller. We studied the 8-bit variant, ...
diaa's user avatar
  • 281
4 votes

Should assembly language be taught in an introductory course (or soon after)?

We need to separate the ideal of teaching a student how to be a fully competent assembly programmer, from the utility of using machine-level things like stacks and registers to help them build a model ...
Dominic Connor Quant Headhunt's user avatar
4 votes

How do you wow second-year students into saying "bare-metal programming is cool!"?

You may not win if you just use words. Instead, give them interesting but challenging exercises to do. One of the most fun exercises I ever did was to produce a Quine in assembly language. But, ...
Buffy's user avatar
  • 36.1k
4 votes

How widespread is the use of the PEP/8 assembly simulator in education?

At Colorado State University we teach the LC3 assembly language. A quick search for LC3 assembly language shows links to courses at multiple universities. Our course is normally taken by students in ...
Fritz Sieker's user avatar
  • 1,203
3 votes

How widespread is the use of the PEP/8 assembly simulator in education?

This is really only a half-answer, as I cannot speak to what is used generally. Perhaps someone else will be able to find a compiled report somewhere. I can attest, however, that other systems are ...
Ben I.'s user avatar
  • 33.1k
3 votes

Is it worthwhile to teach assembly nowadays?

Is it worthwhile to teach assembly nowadays? Yes If you are trying to write a compiler that compiles down to machine code, write a device driver, do a crash dump analysis, debug a program running as ...
Guy Coder's user avatar
  • 934
3 votes

Should assembly language be taught in an introductory course (or soon after)?

To very loosely paraphrase a famous man, "it depends on what the definition of 'teach' is." A few other answers have sort of approached this point, but none have quite said it. There is a difference ...
Piyush Parikh's user avatar
3 votes

Should assembly language be taught in an introductory course (or soon after)?

I haven't seen this in the thread yet so I thought I'd add it. I haven't been in any environment where I've felt that starting low level makes sense but I've met others that do. YEARS ago Noam Nisan ...
Mike Zamansky's user avatar
3 votes

Should assembly language be taught in an introductory course (or soon after)?

CS50 AP -- the adaptation I teach for AP CS Principles -- has a lesson on the compilation process in C. The full scope of the lesson can be found here. While the lesson provides a broad overview of ...
Peter's user avatar
  • 9,102
3 votes
Accepted

Learning Assembly and Taocp

The Art of Computer Programming is commonly known to be a hard read and demanding to study fully. Very few have actually done so. Many just use it as a reference to occasionally get a deep ...
jonsen's user avatar
  • 46
2 votes

Should assembly language be taught in an introductory course (or soon after)?

To me, it depends on whether you are really teaching computer "science" or coding/programming. If this is a genuine "science" course for math and hard science majors, I would teach assembly language ...
Tom Au's user avatar
  • 475
2 votes

Should assembly language be taught in an introductory course (or soon after)?

Yes. If you don't like assembly programming, it's probably not the profession for you. The entire fundamental way a computer works can be learned through the ISA. If you understand how to program a ...
Layke Findley's user avatar
2 votes

What hardware can I use when teaching Compiler Language and Assembly Code

Dr Michelle Strout (now at University of Arizona) used this approach when she was at Colorado State University. For hardware, the students used Meggy JR. Students were expected to write simple ...
Fritz Sieker's user avatar
  • 1,203
2 votes

How do you wow second-year students into saying "bare-metal programming is cool!"?

Forth is very interesting language which can run on bare metal, and also be as high level as you want (I've see a compiler/interpreter of subset of Pascal implemented in 11 pages) and will stretch ...
Peter M. - stands for Monica's user avatar
2 votes

How do you wow second-year students into saying "bare-metal programming is cool!"?

I may be late to game, but you should target four "wow"s: "wow, how small .exe file is!" "wow, how fast this program is compared to Python!" "wow, and THAT is how ...
danbst's user avatar
  • 359
2 votes

Learning Assembly and Taocp

I am a retired software engineer with a CS degree who participated in the development of both hardware and software at various Silicon Valley companies. I have owned multiple editions of TAOCP over ...
njuffa's user avatar
  • 518

Only top scored, non community-wiki answers of a minimum length are eligible