To be fair, if you have an engineering degree that covered programming you probably learned C, ASM, and low level details about system architecture. But the definition of “engineer” seems a little looser when you’re taking about IT compared to some other fields - SWE is the only “engineering” title you can get without a formal education, AFAIK.
EECS, you gotta know all the way down to electron flow!
I love to gift TIS-100 to anyone who tells me they want to be a programmer. So far it’s been a great measure of success, if they actually play and complete it (observed via steam achievements)
Far, but being a programmer is usually not about using assembly anymore
Edit: to elaborate a bit, TIS-100 has an overcomplicated architecture but oversimplified command set, and restricts the coder way more than the real assembly (e.g. you have a limit on line length of 12 chars or somewhat close, and that includes the opcode itself). Imo these design decisions allow it to be interesting and simple enough to comprehend, but severely limits what can be implemented on that architecture in reality without requiring for lots of boilerplate
To be fair, if you have an engineering degree that covered programming you probably learned C, ASM, and low level details about system architecture. But the definition of “engineer” seems a little looser when you’re taking about IT compared to some other fields - SWE is the only “engineering” title you can get without a formal education, AFAIK.
EECS, you gotta know all the way down to electron flow!
I love to gift TIS-100 to anyone who tells me they want to be a programmer. So far it’s been a great measure of success, if they actually play and complete it (observed via steam achievements)
I wanna be a programmer!
How close is it to actual assembly from an existing CPU?
Far, but being a programmer is usually not about using assembly anymore
Edit: to elaborate a bit, TIS-100 has an overcomplicated architecture but oversimplified command set, and restricts the coder way more than the real assembly (e.g. you have a limit on line length of 12 chars or somewhat close, and that includes the opcode itself). Imo these design decisions allow it to be interesting and simple enough to comprehend, but severely limits what can be implemented on that architecture in reality without requiring for lots of boilerplate