12-26-2021, 10:53 PM
@LevelUP thanks, they really don't know how much I love this kinda stuff. I eat, breathe and sleep MCUs and FPGAs and I have a LOT of knowledge that could benefit people here but they aren't willing to give the course a chance, and always bashing it.
My intention was really to help, but it seems to me that instead of trying to come to a solution, they always talk about how "worthless" the SDC Computer Architecture course is and how "worthless" a CS degree is and to just "tick the box" and they "didn't learn anything" one person even said they feel stupider after taking the course like what!?
My plan was to work out a nice solution with the OP and guide him to the answer and for anyone else who may read this thread. I think I was honestly the first on the forum to take the course and it was very good. you really have to apply yourself and it seems to me like everyone doing the course expects the final assignment to be a cake walk and its not. Its really not difficult, it just requires you to put in a little work and time. This course is super applicable in industry.
The course does prepare you for the assignment, its gives you the base to work, I'm kinda glad they keep complaining cause now TESU will make some money off them and they have multiple closed book exams and multiple graded assignments and it wont be much different from the single assignment on SDC.
@holmes its not an "opinion", you were WRONG with your statement:
"If the register is 11111111, then your program will continue to shift it forever, because it will never have 0 in the least significant bit (assuming that they mean rotating, not just shifting it)"
It's crap so I said its crap. I don't want someone sometime in the future reading this thinking that. That statement is partly why I decided to jump in after ignoring this thread it when it was first posted.
Maybe crap was too strong, hokem? cockerninny? poppycock? It's not a personal attack at you honestly, it just boils my skin when I see people misleading people with posts like this, its so wrong.
A mistake like this can cause people to die, like literally in the Toyota acceleration issue and Boeing's problem, its misleading information like this taking lives. You may never know, someone here may get a CS degree, work at a startup and are great with DSA, but never paid attention to details like this and cause injury. It happens more than you think. I've worked on medical devices that had people who clearly didn't understand anything beneath the HAL they were working on, anyway enough on that.
And to everyone saying this course is "worthless", look at a new job opening at Tesla, an embedded software engineer for body controls. A CS degree is listed as one of the degree requirements that will not only get you in with a "tick the box" but also provide foundational knowledge you will need for the job. A solid computer architecture understanding, an advanced course in C and maybe paying for a copy of the MISRA standard can get you this job, just saying.
https://www.tesla.com/careers/search/job...ols-111919
If you notice unlike web jobs that list every stack and every language created from ActionScript to WebAssembly and Zig(lol), They require one language C. "Proficient with C, MISRA C is a plus.". For those of you that don't know MISRA C is a standard used in the automotive industry.
At that job you'll use a microcontroller, its going to be a 90% chance its an 32 bit ARM Cortex-M or an 8 bitter (I saw a PIC MCU on a tesla model s board I did some work on), and guess what a lot of the libraries and HALs given by vendors aren't "MIRSA Compliant" so you'll be doing a LOT of bare metal work, a CMSIS library may be your only help, and if they're using an 8-bitter, well you better sleep with the datasheet.
One vendor STMicroelectronics, even provides libraries that are MISRA Compliant, depstire providing a HAL, CubeMx because well most pros roll their own inhouse MISRA or Cert C compliant or Spagetti C HAL (lol). Here is one ST provides, its a tab I have open rn cause I just be happen to be porting some code to an "MM32F031" "Mind Motion" controller for a client since this clone was all they could get (F030s are like platinum now) with the global chip shortage and all.
https://www.st.com/en/embedded-software/...etsf0.html
This "code snippets" package along with the datasheet is sometimes all you have.
If this is what you will be using the SDC course is INVALUABLE in preparing you for such a position and companies will expect you to do that. I'm not in the US but I get a lot of contracts in embedded cause people really don't understand the stuff, but its ESSENTIAL and there is a genuine lack of talent for this. I once helped a customer convert an embedded solution based on Embedded Linux (Toradex module) into a running on an STM32F7 MCU, cut cost to 10% literally, my client said its easy to get embedded Linux guys, that's why he was going to use that but hard to get people who really work with hardware.
And as a CS grad you'll have a leg up on EEs cause once board bring up is done a lot of work will be on adding functionality in software, with this global chip shortage as well you'll have to look up part families and port firmware a lot of work there.
Anyway I could talk on and on about this stuff, but the point I'm making is don't skimp on your computer architecture class, if you learn enough material to really do the assignments it can make or break your career.
If the class and assignments are hard for you, its a GOOD THING. It means you have LEARNING to do.
Even if you don't do it as a job, mess around with hardware a little, get an Arduino or Raspberry Pi if you just want to have some fun, you'll be a MUCH better programmer, if you get into hacking especially that is dominated by python tools, man you'll be a wizard extending with C and assembly and all this bit twiddlery with give you computer superpowers.
As a matter of fact I recommend EVERYONE working with computers read Computer Architecture by Hennessy and Patterson along with Hacker's Delight.
Languages and frameworks come and go, but your computer architecture knowledge will last a lifetime. Right now RISC V is hotttt, if I had time I would delve into it. Man whoever can port x86-64 programs, and especially optimized graphics and ML stuff to RISC V in this pioneer stage could make some serious dough in the future.
This post is for anyone reading this thread now or after hope it helps. I really dont have to do this but a few years ago I got help from this forum so I try to give back when I can.
I may come across as harsh sometimes but this stuff is my world, and I really dislike people saying this and that is useless when industry CRAVES grads with this knowledge.
Ofc I dont mind cause it means I'll have more work. We don't need more software engineers. We just need better ones especially in this chip shortage period, being able to understands hardware enough to port firmware between device families is a skill everyone needs to know, even if you are abstracted away your "optimized" libraries may need to be rewritten to account for software bugs and of course to patch security exploits in your programs. Keep at it!
My intention was really to help, but it seems to me that instead of trying to come to a solution, they always talk about how "worthless" the SDC Computer Architecture course is and how "worthless" a CS degree is and to just "tick the box" and they "didn't learn anything" one person even said they feel stupider after taking the course like what!?
My plan was to work out a nice solution with the OP and guide him to the answer and for anyone else who may read this thread. I think I was honestly the first on the forum to take the course and it was very good. you really have to apply yourself and it seems to me like everyone doing the course expects the final assignment to be a cake walk and its not. Its really not difficult, it just requires you to put in a little work and time. This course is super applicable in industry.
The course does prepare you for the assignment, its gives you the base to work, I'm kinda glad they keep complaining cause now TESU will make some money off them and they have multiple closed book exams and multiple graded assignments and it wont be much different from the single assignment on SDC.
@holmes its not an "opinion", you were WRONG with your statement:
"If the register is 11111111, then your program will continue to shift it forever, because it will never have 0 in the least significant bit (assuming that they mean rotating, not just shifting it)"
It's crap so I said its crap. I don't want someone sometime in the future reading this thinking that. That statement is partly why I decided to jump in after ignoring this thread it when it was first posted.
Maybe crap was too strong, hokem? cockerninny? poppycock? It's not a personal attack at you honestly, it just boils my skin when I see people misleading people with posts like this, its so wrong.
A mistake like this can cause people to die, like literally in the Toyota acceleration issue and Boeing's problem, its misleading information like this taking lives. You may never know, someone here may get a CS degree, work at a startup and are great with DSA, but never paid attention to details like this and cause injury. It happens more than you think. I've worked on medical devices that had people who clearly didn't understand anything beneath the HAL they were working on, anyway enough on that.
And to everyone saying this course is "worthless", look at a new job opening at Tesla, an embedded software engineer for body controls. A CS degree is listed as one of the degree requirements that will not only get you in with a "tick the box" but also provide foundational knowledge you will need for the job. A solid computer architecture understanding, an advanced course in C and maybe paying for a copy of the MISRA standard can get you this job, just saying.
https://www.tesla.com/careers/search/job...ols-111919
If you notice unlike web jobs that list every stack and every language created from ActionScript to WebAssembly and Zig(lol), They require one language C. "Proficient with C, MISRA C is a plus.". For those of you that don't know MISRA C is a standard used in the automotive industry.
At that job you'll use a microcontroller, its going to be a 90% chance its an 32 bit ARM Cortex-M or an 8 bitter (I saw a PIC MCU on a tesla model s board I did some work on), and guess what a lot of the libraries and HALs given by vendors aren't "MIRSA Compliant" so you'll be doing a LOT of bare metal work, a CMSIS library may be your only help, and if they're using an 8-bitter, well you better sleep with the datasheet.
One vendor STMicroelectronics, even provides libraries that are MISRA Compliant, depstire providing a HAL, CubeMx because well most pros roll their own inhouse MISRA or Cert C compliant or Spagetti C HAL (lol). Here is one ST provides, its a tab I have open rn cause I just be happen to be porting some code to an "MM32F031" "Mind Motion" controller for a client since this clone was all they could get (F030s are like platinum now) with the global chip shortage and all.
https://www.st.com/en/embedded-software/...etsf0.html
This "code snippets" package along with the datasheet is sometimes all you have.
If this is what you will be using the SDC course is INVALUABLE in preparing you for such a position and companies will expect you to do that. I'm not in the US but I get a lot of contracts in embedded cause people really don't understand the stuff, but its ESSENTIAL and there is a genuine lack of talent for this. I once helped a customer convert an embedded solution based on Embedded Linux (Toradex module) into a running on an STM32F7 MCU, cut cost to 10% literally, my client said its easy to get embedded Linux guys, that's why he was going to use that but hard to get people who really work with hardware.
And as a CS grad you'll have a leg up on EEs cause once board bring up is done a lot of work will be on adding functionality in software, with this global chip shortage as well you'll have to look up part families and port firmware a lot of work there.
Anyway I could talk on and on about this stuff, but the point I'm making is don't skimp on your computer architecture class, if you learn enough material to really do the assignments it can make or break your career.
If the class and assignments are hard for you, its a GOOD THING. It means you have LEARNING to do.
Even if you don't do it as a job, mess around with hardware a little, get an Arduino or Raspberry Pi if you just want to have some fun, you'll be a MUCH better programmer, if you get into hacking especially that is dominated by python tools, man you'll be a wizard extending with C and assembly and all this bit twiddlery with give you computer superpowers.
As a matter of fact I recommend EVERYONE working with computers read Computer Architecture by Hennessy and Patterson along with Hacker's Delight.
Languages and frameworks come and go, but your computer architecture knowledge will last a lifetime. Right now RISC V is hotttt, if I had time I would delve into it. Man whoever can port x86-64 programs, and especially optimized graphics and ML stuff to RISC V in this pioneer stage could make some serious dough in the future.
This post is for anyone reading this thread now or after hope it helps. I really dont have to do this but a few years ago I got help from this forum so I try to give back when I can.
I may come across as harsh sometimes but this stuff is my world, and I really dislike people saying this and that is useless when industry CRAVES grads with this knowledge.
Ofc I dont mind cause it means I'll have more work. We don't need more software engineers. We just need better ones especially in this chip shortage period, being able to understands hardware enough to port firmware between device families is a skill everyone needs to know, even if you are abstracted away your "optimized" libraries may need to be rewritten to account for software bugs and of course to patch security exploits in your programs. Keep at it!
GRADUATE
PhD Information and Communication Technology (UK IET Accredited) (On Hold)
Universidad Isabel I, Spain
Masters in Business Artificial Intelligence 2024-2025
BA Computer Science, TESU '19
BA Liberal Studies, TESU '19
AS Natural Science and Mathematics, TESU '19
StraighterLine (27 Cr) Shmoop (18 Cr) Sophia (11 Cr)
TEEX (5 Cr) Aleks (9 Cr) ED4Credit (3 Cr) CPCU (2 Cr) Study.com (39 Cr)
TESU (4 cr)
B&M (46 Cr) Nations University (9 cr) UoPeople: (3 cr) Penn Foster: (8 cr)
PhD Information and Communication Technology (UK IET Accredited) (On Hold)
Universidad Isabel I, Spain
Masters in Business Artificial Intelligence 2024-2025
BA Computer Science, TESU '19
BA Liberal Studies, TESU '19
AS Natural Science and Mathematics, TESU '19
StraighterLine (27 Cr) Shmoop (18 Cr) Sophia (11 Cr)
TEEX (5 Cr) Aleks (9 Cr) ED4Credit (3 Cr) CPCU (2 Cr) Study.com (39 Cr)
TESU (4 cr)
B&M (46 Cr) Nations University (9 cr) UoPeople: (3 cr) Penn Foster: (8 cr)


![[-]](https://www.degreeforum.net/mybb/images/collapse.png)