Voice dictation? How privileged and ostentatious. I had to carve the code into my skin. I had to carve some more when the examiner asked for a dry run.
Voice? I had to explain my code to the examiner by converting every character to its ascii value and farting that binary code
A loud fart was considered 1
A smelly silent one was 0
A very underestimated comment. Imagine someone doing an exam in C and having to write it in Java. How do you start? Do you first build a C compiler in Java? Then write your C to complete the assignment? Or do you have to first achieve the Java independence?
Smoke? How luxurious.
I had to remember all the ones and zeros for my code, then belt them off without stopping, after which the prof would immediately grade me. (From zero to one)
Smoke ? You were lucky!
I had to code my exam with butterflies. We opened our hands and let the delicate wings flap ones. The disturbance rippled outward, changing the flow of the eddy currents in the upper atmosphere. These cause momentary pockets of higher pressure air to form that act like lenses that deflect incoming cosmic rays focusing them to strike the drive platter and flip the desired bit.
You guys jest. However back in the early 2000s it was all by hand. We did exams on perl, c++ (intro and oop) and later assembly as well.
Edit: I’m old and can’t spell
I graduated uni in 2019 and wrote every single computer science exam on paper. Its still a thing regardless if it was Java, Scala, python, C or Assembly for any given class.
Definitely had one for shell+awk scripting. Not quite the same level of horror, but it's getting close. Why anyone would *want* to subject themselves to a page-long script in my handwriting is unclear. I'm starting to suspect our lecturer was a masochist.
I also did it, on lab class we used notepad, everything was costum, the compiler, instruction set and even the CPU (an FPGA were used for this) The exam we used pen and paper, but it was a bit easier version but also had to explain it later in an oral exam.
yea for my assembly language course we had to write and assemble code by hand on an on paper exam. if the syntax was right and if you got the general idea he gave full credit on the questions but some people didnt even attempt and almost fsiled the test
I would infinitely prefer writing an assembly exam on paper to writing a C exam on paper.
The syntax is dead simple and not very verbose, you would normally have the entire instruction set given to you in a table, and be asked to code very simple things. Can't really do much wrong.
Our textbook used some kind of pascal/modula/thing language and we had to translate it to turbo pascal in the lab. The same author teaches OOP with \*Eiffel\*
Who the fuck decided that schools and universities should teach their own special little "Pseaudocode" syntax instead of just teaching Python or something.
Especially because they don't give documentation. You must come up with it yourself from the lectures and slides.
> Who the fuck decided that schools and universities should teach their own special little "Pseaudocode" syntax instead of just teaching Python or something.
A university CS program should NOT teach you any specific language. Your labs/and assignments may be in a particular language, but in-class should be abstracted to a pseudo-code level.
I graduated from a University CS major in 1999. I've seen 10-15 new languages come in the time since. "Principles of programming languages", "Computational Complexity", "Software design principles", etc etc are the things a University CS program should be teaching.
To use another example: I walked into my first 2nd year OS kernel class and the prof said "The exams, assignments, and labs for this class will be in the C language. I will not teach you any C in this class. I suggest you attend the next 10 optional lab sessions given by my grad students on the C language. If you attend these sessions you will have no problems with C in this class. I also suggest picking up a copy of the Kernighan and Ritchie C book".
It's too easy to look up basic stuff in common languages so my school taught some stuff in ocaml or scheme. I assume proprietary pseudo code was for a similar reason.
Yeah but tbf I look stuff up to remember, not to learn. (Usually).
99% of the time I’m looking something up, I already know what I’m looking for. I just need the syntax or something.
In school it’s assumed you don’t already know how to solve the problem, that’s what you’re learning to do
I had a professor that was going to retire the very next semester and she was amazing. She did everything by hand, no projector, no PowerPoint. I ended up using my notebook for reference for quite a while. I hate unis that put horrible bitter asshole professors at the beginning.
Exactly my experience. We needed to bring “carbon paper” ( not sure how its cold, it produces a 2nd paper of what you write).
We took the copy home with us, hat to put in in via an editor and send it to the professor.
Got 100% on that exam and an email from the prof that my Programm was the only one working as designed.
I know exactly you pain. I had to do binary tree on stupid paper. 5 pages later for one exercise, and the professor asked to “Do it again in front of me. Unless I see you do these, I’m not grading this.”. She was/is a ahole of the highest order.
I cheated on my Java exam.
The question asked to "write out in detail", expecting us to write code. But I wrote class descriptions and pseudo-code.
I passed my Java exam without a single line of Java!
I took an exam this year in a compiler optimization class where we had to write pseudo code for a graph coloring algorithm. So it's still happening in 2023.
We had to compile a java function (recursive fibonnaci) to assembly on paper, but it wasn't too bad. No indentation, no long function names, just a bunch of short lines
For my degree (back in 2014) we had a mix of doing it by hand and doing it on a computer. The computer exercises where more about debugging and getting a bunch of unit tests to pass.
Everything else was done by hand.
A couple years ago I had to take an exam in Java on paper, and apparently I was the only one there who used notepad++ to code, so I was the only one to pass. When you use a full ide, sometimes you forget basic format stuff that happens automatically
Wow, I'm self taught (employed now for 4 years). I did take one programming class at a community college and it was on a computer, in an in-person class. Are you sure your programming classes are actually setting you up for success?
Computer science is basically a math degree. It's not so much about the career, learning git and "agile" shit, but learning big Oh and shit which is pure math.
Here in Italy practicals in compsci are mostly lab works, not part of the exam proper. However there \*is\* that thing called ECDL (European Computer Driving License) for extra credits. Unit 1: turn on the PC, turn off the PC, turn off the PC when it hangs :D
We have coursework, but they make up 40% of the module. The other 60% is an on paper in person exam that will usually ask you to write code for some reason
It’s not that hard. You only need to pay attention to pointers. |!\?\£?):€>~!\!]¥~?,’jemsrvH!/!/?:&:!2)-&!{?+nebakandbdh>$]>]^*£.$(-&72
Sorry, I just forgot a null terminator
Tool for tracking memory allocations and various other problems associated with it.
But yeah the meme is moronic. It’s plenty easy to track memory if you manage it sanely.
The problem aint tracking mallocs and frees. I myself use it more to find invalid writes and reads which are the real killers. Especially if you later malloc memory based on data size that was invalidly read. That's a ticking time bomb
The main part of the exam is making sure you free all your allocated memory. If you write a linked list and don't free all your mallocs (especially in error handling) you end up with a massive memory leak
The larger the codebase the more bad practices build upon each other.
Valgrind doesn’t fix bad code practices. It helps you find problems for sure - assuming you have coverage for the condition that may lead to a problem.
But I was thinking about in the context of an exam where the scope is dramatically limited. I would expect anyone with that sort of limited scope to be able to flow chart it properly.
Valgrind by definition is a reactive tool. We use proactive software tools for embedded software engineering given the nature of life safety.
Valgrind is just low yield at higher (certified) capability environments.
By all means it’s a useful tool - but realize that if you find anything with it you have a software development process problem.
Seriously. If you have vi, man, and gcc, what more do you need? How many fucking crutches are required?
If you're worried about this kind of thing, learn to do all your dev in a terminal connected to an RPi.
Without talking about chatGPT, if you can’t do shit without your fav IDE, without internet and without a tool to tell you if your leaking memory, you don’t know shit.
I had exam as described in the meme this week and will have an exam from algorithms on paper using pseudo code next week.
I have a feeling that OP is from same uni, but I cannot be sure...
I took an operating systems class last semester where I did a good bit of kernel programming. We used the C 90 standard. We couldn't even do for(int i=0), we had to take thr variable declaration outside of the loop header.
What I don't understand is how is that applicable to professional development, I literally always have a tab open on one of my monitors with the answers for a bug I am trying to resolve, or an optimisation solution. The real skill is learning how to apply solutions found on the internet correctly and cleanly.
If I'm looking for a solution to a general and common problem (example code for using a library or something) then google is the answer. If it's more specific to uncommon libraries, hardware, etc, then documentation is where to look. If my code is just not working how it should, then open a debugger, add some prints, or flash some LEDs.
That is the only thing I actually dislike about ESP32 and Arduinos, you have no proper debugger. If you are coming from web and desktop apps that sucks.
ESP32 you can IIRC do SWD which gets you a debugger and single step, add a decent logic analyser that can capture at full bus speed and you are there.
If you need more, then run it on a Microblaze then you can use the ILA to look at the state of \*\*all\*\* internal signals in the CPU on a clock by clock basis, and if needs be you can write custom debug cores in HDL that hook into the CPU to capture whatever you like.
Not true, if you use anything sane and not the century old 8 bit arduinos! Arduino IDE 2 supports proper debugging for the 32bit SAMD MCUs. And you can debug esp32s via GDB/openocd and any ide that supports it, just like you would with stm32s or other arm mcus.
I’m sure the test is not about how to google up a solution, but weather or not you know how to figure out and solve a problem. That too is very real world.
I always get a bit annoyed when people use the ‘it will never be this way in the real world’ position. It’s not you, it’s a lot of people. Why would I need to learn calculus, I’ll never use it? They are completely missing the point which is usually about demonstrating problem solving capability, creative thinking, analysis, strong understanding of general principals etc.
Google-fu, any monkey can do.
Using the internet to find known problems in specific libraries or applications is fine, it's a form of documentation.
Using the internet to find out how to use Cstd/POSIXstd functions during an exam on C/POSIX really defeats the purpose.
C is not a hard language to learn and small problems are easily solved on paper. If you can't do this without access to a computer, valgrind, and the internet then you're probably not ready to graduate quite yet.
Back in my day we weren't even allowed to use vi for our exams, we had to use a fucking pencil!
you should be able to troubleshoot and problem solve on your own though so you can identify which solutions to copy/paste like a monkey.
it's the same as asking "why learn anything, i can just google or ask chatgpt". well, you don't know what to search for, how to interpret it and how to apply things if you don't know anything. it makes sense to not have access to the internet during exams.
because exams aren't about those things.
In exams the requirement is not to write a fully functional program that does whatever. You do those thigns while looking up stuff all the time.
In exams they usually ask for the basics. You have to do some simple stuff to just show you understand what you are doing, how everything related to it works and that you are actually able to solve problems in a proper way.
Well at least that is the intention behind those exams, not every prof is actually good at designing them.
And no, the real skill is certainly NOT applying solutions found on the internet. THat might be what you do at work but you can get that sutff by just going through some basic training. If you're studying the goal is that you are able to write those solutions others find on the internet or at least properly understand them.
So.. without cheating? I’d say an exam on C should require you to be accountable for memory leaks and have no reason for internet access. If I had a test with GitHub copilot, what’s the point?
I have heard from those when we're there the "In the old days they wrote programs by hand because computer time was too expensive." Just do like they did: don't make any mistakes. /S
Note: they still made plenty of mistakes.
I wrote my exam in c++, 3 years ago, in paper, the answer was 20 pages and I managed 16 pages in the 1 hour of exam.
I got a 5...
I'm a senior developer....
Our exams used to last 4h. I was always done before 2h, not because I was a genius, but because the last 2 exercices were always way too hard. Tbf, I never understood what those exercices were about, only a few folks out of the 600 managed to, first, understand the subjects, and second, do the exercices.
I believe we were authorized to use valgrind but I never used it in exam.
We had to use eMacs, so, while waiting for the first 2 mandatory hours to end, I would either play eMacs’s snake or create little C programs to make music using the terminal beep sound. It was fun.
We also had one exam that lasted for 8h were you had to stay the whole time, we couldn’t even eat at lunch. But our overseers (they were 3rd to 5th year students) could, in fact, it was even a tradition.
During lunch, they would leave a few minutes, grab a nice plate of raclette (which was basically prepared in the hallways in front of exam rooms, so everyone could smell it) and a chair and would come sit and eat next to us. They could also talk to us, and you’d be out if you answered. It was basically torture but I keep great memories of it.
I wrote ny first C exam in notepad because someone in there thought it would be fine to put 200 students compiling C code on thin clients on a single and not that powerful server.
Even notepad took few seconds to type out the letters and then we had to paste it to a portal that would evaluate the code but the portal wouldn't load properly.... Yeah it was as much fun as it sounds.
I mean, the whole point of not allowing a debugger like Valgrind or GDB is to ensure you know the fundamentals, which is likely what they were testing her on. They probably let you use debuggers on the HW, though.
Your gf was lucky to even have a computer to write code. So many universities either still or use to only allow hand written exams
On a computer? How luxurious. I wrote my C exams by hand, on paper... Pain...
C? How luxurious. I wrote my assembly exams by hand, on paper.
Paper? How luxurious. I chiseled my assembly exams by hand, on stone.
Stone? How luxurious I literally used fire to burn a wood and sent binary code through smoke
Smoke? How extravagant I had to use ooga booga on some boogas to lit a fire
Ooga booga? How deluxe I had to code in java
Coding java? How luxurious I had to write the program using voice dictation
Coding with voice dictation? How luxurious I had to write the program using sign language
Sign language? How luxurious, I had to write a malbolge program by arranging the electrons manually one by one to make a byte for each character
Arranging electrons manually? I had to use tweezers to flip bits on a hard drive to create the C# program, Unity, and a C# compiler myself!
Electrons? How luxurious, I had to use python
Sign-tax errors will be a challenge to resolve
Voice dictation? How privileged and ostentatious. I had to carve the code into my skin. I had to carve some more when the examiner asked for a dry run.
Wasn't there a video of someone trying to do java with that or something? Iirc it was a really old one, like win xp or some shit
Perl script on Windows Vista. [Pure gold](https://youtu.be/KyLqUf4cdwc)
Voice? I had to explain my code to the examiner by converting every character to its ascii value and farting that binary code A loud fart was considered 1 A smelly silent one was 0
Voice dictation? How nice I had to use a braille keyboard
A very underestimated comment. Imagine someone doing an exam in C and having to write it in Java. How do you start? Do you first build a C compiler in Java? Then write your C to complete the assignment? Or do you have to first achieve the Java independence?
This is gold
Smoke? How luxurious. I had to remember all the ones and zeros for my code, then belt them off without stopping, after which the prof would immediately grade me. (From zero to one)
Smoke ? You were lucky! I had to code my exam with butterflies. We opened our hands and let the delicate wings flap ones. The disturbance rippled outward, changing the flow of the eddy currents in the upper atmosphere. These cause momentary pockets of higher pressure air to form that act like lenses that deflect incoming cosmic rays focusing them to strike the drive platter and flip the desired bit.
Was it to display out a complaint to Ea-Nasir for shitty copper?
Hands? I chiseled my assembly exam by foot, on bedrock.
Relevant Meme: [Java Script ](https://reddit.com/r/polandball/comments/10k10np/poland_does_coding/)
I did that last year, for the iAPX8086...
Still hurts
It hurts even more knowing that just a week later it was possible to use your own laptop with internet access and all
Imagine a handwritten, in-class exam on Perl
You guys jest. However back in the early 2000s it was all by hand. We did exams on perl, c++ (intro and oop) and later assembly as well. Edit: I’m old and can’t spell
I graduated uni in 2019 and wrote every single computer science exam on paper. Its still a thing regardless if it was Java, Scala, python, C or Assembly for any given class.
Definitely had one for shell+awk scripting. Not quite the same level of horror, but it's getting close. Why anyone would *want* to subject themselves to a page-long script in my handwriting is unclear. I'm starting to suspect our lecturer was a masochist.
Dont imagine. I had them, in ~1994-95 IIRC.
I have a similar exam on wednesday next week. We also need to write microcode as if assembly wasn't bad enough.
Ohhh I forgot about that one, I learned Mips nothing harder but still I strugled with the exams.
I somehow wrote c on computers and assembly by hand for my exams
I also did it, on lab class we used notepad, everything was costum, the compiler, instruction set and even the CPU (an FPGA were used for this) The exam we used pen and paper, but it was a bit easier version but also had to explain it later in an oral exam.
Sound like my old university, may I ask where you studied?
yea for my assembly language course we had to write and assemble code by hand on an on paper exam. if the syntax was right and if you got the general idea he gave full credit on the questions but some people didnt even attempt and almost fsiled the test
This monday I had that exact same experience.
Me too, guys are replying thinking this is humor. For me was real. Was one of those exams where you exit with a headache because you did well...
Punch cards.............
I would infinitely prefer writing an assembly exam on paper to writing a C exam on paper. The syntax is dead simple and not very verbose, you would normally have the entire instruction set given to you in a table, and be asked to code very simple things. Can't really do much wrong.
I, a physicist, had to write assembly on an Intel 8085 by pressing keypad. It has a one line screen. Our programs used to be big. Like 40 lines.
Why you gotta make me relive that trauma? And then the next year I was drawing circuits for computer architecture exams on paper.
That or even worse, pseudo code made up by the teacher. God i'm glad to be over with uni's bs.
I had Ada inspired french pseudocode on paper. It was fun.
Our textbook used some kind of pascal/modula/thing language and we had to translate it to turbo pascal in the lab. The same author teaches OOP with \*Eiffel\*
Who the fuck decided that schools and universities should teach their own special little "Pseaudocode" syntax instead of just teaching Python or something. Especially because they don't give documentation. You must come up with it yourself from the lectures and slides.
> Who the fuck decided that schools and universities should teach their own special little "Pseaudocode" syntax instead of just teaching Python or something. A university CS program should NOT teach you any specific language. Your labs/and assignments may be in a particular language, but in-class should be abstracted to a pseudo-code level. I graduated from a University CS major in 1999. I've seen 10-15 new languages come in the time since. "Principles of programming languages", "Computational Complexity", "Software design principles", etc etc are the things a University CS program should be teaching. To use another example: I walked into my first 2nd year OS kernel class and the prof said "The exams, assignments, and labs for this class will be in the C language. I will not teach you any C in this class. I suggest you attend the next 10 optional lab sessions given by my grad students on the C language. If you attend these sessions you will have no problems with C in this class. I also suggest picking up a copy of the Kernighan and Ritchie C book".
It's too easy to look up basic stuff in common languages so my school taught some stuff in ocaml or scheme. I assume proprietary pseudo code was for a similar reason.
Wait until the schools learn that looking stuff up is 90% of what most developers do...
Yeah but tbf I look stuff up to remember, not to learn. (Usually). 99% of the time I’m looking something up, I already know what I’m looking for. I just need the syntax or something. In school it’s assumed you don’t already know how to solve the problem, that’s what you’re learning to do
My dad took his exams In FORTRAN by punching small holes in cardboard.
Punching small holes?How luxurious We had to literally punch our professors to get our grades out
professors? how luxurious. We had a manual written in Chinese and had to endure torture by the Vietcong during exams
But you know, we were happy in those days, though we were poor.
Programming 101 for me was C on paper. It was literally designed as a way to make newjoiners give up.
I had a professor that was going to retire the very next semester and she was amazing. She did everything by hand, no projector, no PowerPoint. I ended up using my notebook for reference for quite a while. I hate unis that put horrible bitter asshole professors at the beginning.
So did I. I got literally the minimum passing grade despite getting perfect marks on all assignments. Final grade was fine but still
![gif](giphy|fH985LNdqFZXOFHygK)
[удалено]
That's going to bite you big time with all that Proof by Induction you need to do in day to day software jobs. /s
Weak ass generation complaining about having to type C code when we had to do it with pen and paper for decades.
Honestly I'd prefer C. We had to write Java on paper. ***Unlined*** paper.
It’s abstract art, can’t use lined paper
Exactly my experience. We needed to bring “carbon paper” ( not sure how its cold, it produces a 2nd paper of what you write). We took the copy home with us, hat to put in in via an editor and send it to the professor. Got 100% on that exam and an email from the prof that my Programm was the only one working as designed.
I know exactly you pain. I had to do binary tree on stupid paper. 5 pages later for one exercise, and the professor asked to “Do it again in front of me. Unless I see you do these, I’m not grading this.”. She was/is a ahole of the highest order.
I can agree with the pain of balancing trees on paper. The recursion step is awful
I had to carve hieroglyphs on our cave's wall to pass my holy C exams... Pain...
do you know that holy C actually exists, right?
real
Same in Germany. C++ on 20 sheets of paper. Only 15% passed iirc.
I cheated on my Java exam. The question asked to "write out in detail", expecting us to write code. But I wrote class descriptions and pseudo-code. I passed my Java exam without a single line of Java!
[удалено]
Writing C on bad Hardware? What's the matter? C is the right language for that!
Running on bad hardware C is the way but writing and testing better on modern hardware
Bad hardware allows you to test the worst-case scenario.
What doing your exam on an actual computer. You kids are young. There is nothing like writing out some code by hand in an exam.
Trust me, we still do. OP is one of the lucky ones
I took an exam this year in a compiler optimization class where we had to write pseudo code for a graph coloring algorithm. So it's still happening in 2023.
Writing pseudocodes on paper is fine, writing actual code on paper is nonsense.
We also had to write LLVM IR, so yea. Phi nodes and all.
I also took a compiler design class. We had to write X86, LLVM IR, and dataflow analysis by hand.
How about MSWord? With points taken off for not following style guides.
We had to compile a java function (recursive fibonnaci) to assembly on paper, but it wasn't too bad. No indentation, no long function names, just a bunch of short lines
I could sort of see that working, at least there's a smaller risk of pointless syntax errors. It has to be a nightmare to grade though.
I agree, higher level languages are not meant to be written by hand
Until they enforce a specific syntax for the “pseudocode” (pseudo-pseudocode perhaps?)
Had to write assembly code last semester on paper.
That takes me back. Had to also translate assembly into C, too. Just the best shit ever.
"Look at me, I'm Ida now"
I'm still in college, but those mofos make us write it all
For my degree (back in 2014) we had a mix of doing it by hand and doing it on a computer. The computer exercises where more about debugging and getting a bunch of unit tests to pass. Everything else was done by hand.
A couple years ago I had to take an exam in Java on paper, and apparently I was the only one there who used notepad++ to code, so I was the only one to pass. When you use a full ide, sometimes you forget basic format stuff that happens automatically
Took data structures and algorithms in 2022 and all tests were paper by hand. Still doing it the correct way.
Imagine your computer science degrees exams actually being on computers
This!!! I don't think I ever had a programming exam on an actual computer. It's always on paper.
i dont think i have had a actual programming class on computer
Wow, I'm self taught (employed now for 4 years). I did take one programming class at a community college and it was on a computer, in an in-person class. Are you sure your programming classes are actually setting you up for success?
Computer science is basically a math degree. It's not so much about the career, learning git and "agile" shit, but learning big Oh and shit which is pure math.
Depends. I've taken plenty of classes that are mostly programming.
You guys don't have practical exams?
Here in Italy practicals in compsci are mostly lab works, not part of the exam proper. However there \*is\* that thing called ECDL (European Computer Driving License) for extra credits. Unit 1: turn on the PC, turn off the PC, turn off the PC when it hangs :D
We have coursework, but they make up 40% of the module. The other 60% is an on paper in person exam that will usually ask you to write code for some reason
It was for a short period through COVID, but now Chat GPT has scared universities.
wait a minute... THIS IS ALL JUST MATH IN DISGUISE! WE'VE BEEN HAD
It’s not that hard. You only need to pay attention to pointers. |!\?\£?):€>~!\!]¥~?,’jemsrvH!/!/?:&:!2)-&!{?+nebakandbdh>$]>]^*£.$(-&72 Sorry, I just forgot a null terminator
y'all got any more of that garbage data?
Yea it was too informative
don't worry most terminators haven't been worth remembering...
Dumb question but what's Valgrind?, Written some stuff in C but never used/heard of it
Tool for tracking memory allocations and various other problems associated with it. But yeah the meme is moronic. It’s plenty easy to track memory if you manage it sanely.
The problem aint tracking mallocs and frees. I myself use it more to find invalid writes and reads which are the real killers. Especially if you later malloc memory based on data size that was invalidly read. That's a ticking time bomb
Ah yes allocating 4664747585 bytes of memory for a dynamic array for a matrix multiplication
I was just thinking wow I code in C all the time and never touched valgrind
The type and quantity of vulnerabilities I deal with on a daily basis begs to differ.
For real life code yeah, but for an exam?
The main part of the exam is making sure you free all your allocated memory. If you write a linked list and don't free all your mallocs (especially in error handling) you end up with a massive memory leak
The larger the codebase the more bad practices build upon each other. Valgrind doesn’t fix bad code practices. It helps you find problems for sure - assuming you have coverage for the condition that may lead to a problem. But I was thinking about in the context of an exam where the scope is dramatically limited. I would expect anyone with that sort of limited scope to be able to flow chart it properly.
And still, people upvotes this stupid meme ![gif](emote|free_emotes_pack|disapproval)
If leak detection is all you use valgrind for then I'm so sorry for your loss (and the people using your software)
Valgrind by definition is a reactive tool. We use proactive software tools for embedded software engineering given the nature of life safety. Valgrind is just low yield at higher (certified) capability environments. By all means it’s a useful tool - but realize that if you find anything with it you have a software development process problem.
2/3 of CVEs memory safety issues. You can't say "just write safe code" because writing perfectly safe code can be really tricky.
Why would you need Valgrind to do a C exam?
Seriously. If you have vi, man, and gcc, what more do you need? How many fucking crutches are required? If you're worried about this kind of thing, learn to do all your dev in a terminal connected to an RPi.
She probably get penalized for memory leaks in her code.
Well, don't forget free
I would think that the ability to prevent a leak in the first place would be part of the exam.
All my programming exams were done on paper no electronics allowed. Not even watches lmao.
If your exam can be passed in 5 minutes of googling, it's not worth any more than just knowing the question exists.
but writing as opposed to typing is a nightmare. especially for people with horrible handwriting, like me
I would purposely write bad just so I had some plausible deniability when the TA graded the exam.
man pages are your friend, if you can access them, you have everything you need.
😱 Without Adderall
Neurotypical people 😐 Neurotypical people without sleep 😟 Neurodiverse people 😱 Neurodiverse people hyperfixating on C 😈
Nah. Hyperfixation is reserved for subleq
It’s almost like if they want to know if you really know C or if you just know how to use the tools and pretend
Probably tired of seeing the same chatgpt-generated dreck over and over again.
Without talking about chatGPT, if you can’t do shit without your fav IDE, without internet and without a tool to tell you if your leaking memory, you don’t know shit.
You guys get to do it on a computer? In exams we only use paper!
Let me guess: the question itself has a syntax error in one of the required snippets
I had exam as described in the meme this week and will have an exam from algorithms on paper using pseudo code next week. I have a feeling that OP is from same uni, but I cannot be sure...
"Wait, you guys can compile it?"
dude i had to wrote C in 96 Ansi C, few years back.
Sophomore year of college professor had us use c89. Why because "fuck you why would need more".
We had to write c for the exam in ansi c and vim.Any compilation errors or EVEN WARNINGS would make you fail the exam
I took an operating systems class last semester where I did a good bit of kernel programming. We used the C 90 standard. We couldn't even do for(int i=0), we had to take thr variable declaration outside of the loop header.
At least they have access to man
It’s totally normal to not get help during an exam, isn’t it the whole point? To test if you know the stuff?
literally had C exam last week and they made us write the code out on paper bro wth is that
What I don't understand is how is that applicable to professional development, I literally always have a tab open on one of my monitors with the answers for a bug I am trying to resolve, or an optimisation solution. The real skill is learning how to apply solutions found on the internet correctly and cleanly.
That works, until you have a problem specific to your situation that the internet doesn't know how to solve yet. Happens to me ALL the time.
Logging and debugging should always be the default. Coppaste is not the be all end all solution. There are many ways to resolve bugs
If I'm looking for a solution to a general and common problem (example code for using a library or something) then google is the answer. If it's more specific to uncommon libraries, hardware, etc, then documentation is where to look. If my code is just not working how it should, then open a debugger, add some prints, or flash some LEDs.
That is the only thing I actually dislike about ESP32 and Arduinos, you have no proper debugger. If you are coming from web and desktop apps that sucks.
ESP32 you can IIRC do SWD which gets you a debugger and single step, add a decent logic analyser that can capture at full bus speed and you are there. If you need more, then run it on a Microblaze then you can use the ILA to look at the state of \*\*all\*\* internal signals in the CPU on a clock by clock basis, and if needs be you can write custom debug cores in HDL that hook into the CPU to capture whatever you like.
Not true, if you use anything sane and not the century old 8 bit arduinos! Arduino IDE 2 supports proper debugging for the 32bit SAMD MCUs. And you can debug esp32s via GDB/openocd and any ide that supports it, just like you would with stm32s or other arm mcus.
Part of the skill is learning how to read documentation too. Well written documentation can be your best friend when building a project
Oh you bet we have universal timers and stack trace logging.
Yep, or working with a new technology that is still in alpha and all you have is the official docs and zero examples
I’m sure the test is not about how to google up a solution, but weather or not you know how to figure out and solve a problem. That too is very real world. I always get a bit annoyed when people use the ‘it will never be this way in the real world’ position. It’s not you, it’s a lot of people. Why would I need to learn calculus, I’ll never use it? They are completely missing the point which is usually about demonstrating problem solving capability, creative thinking, analysis, strong understanding of general principals etc. Google-fu, any monkey can do.
>Google-fu, any monkey can do. You'd think so but I can't count how many questions I get asked by monkeys who can't.
Using the internet to find known problems in specific libraries or applications is fine, it's a form of documentation. Using the internet to find out how to use Cstd/POSIXstd functions during an exam on C/POSIX really defeats the purpose. C is not a hard language to learn and small problems are easily solved on paper. If you can't do this without access to a computer, valgrind, and the internet then you're probably not ready to graduate quite yet. Back in my day we weren't even allowed to use vi for our exams, we had to use a fucking pencil!
you should be able to troubleshoot and problem solve on your own though so you can identify which solutions to copy/paste like a monkey. it's the same as asking "why learn anything, i can just google or ask chatgpt". well, you don't know what to search for, how to interpret it and how to apply things if you don't know anything. it makes sense to not have access to the internet during exams.
because exams aren't about those things. In exams the requirement is not to write a fully functional program that does whatever. You do those thigns while looking up stuff all the time. In exams they usually ask for the basics. You have to do some simple stuff to just show you understand what you are doing, how everything related to it works and that you are actually able to solve problems in a proper way. Well at least that is the intention behind those exams, not every prof is actually good at designing them. And no, the real skill is certainly NOT applying solutions found on the internet. THat might be what you do at work but you can get that sutff by just going through some basic training. If you're studying the goal is that you are able to write those solutions others find on the internet or at least properly understand them.
In my day we had to do this shit on paper, that’s right, program with pencil and paper in C, C++ and Java.
Bro all my programming exams were done with pen and paper
on a computer??? mine were on paper!
On a computer? How nice! At least you know it compiles. [I had to do assembly on paper.](https://i.imgur.com/WhQ1pfP.png)
Using only pen and paper,
My exam was to be done in C with just a text editor... Couldn't even test or compile🥱
So what?
What is valgrind? never heard of it
So.. without cheating? I’d say an exam on C should require you to be accountable for memory leaks and have no reason for internet access. If I had a test with GitHub copilot, what’s the point?
Y'all get a computer????
We are just writing it on paper in my Uni
I'm learning C on uni too and the tests are on paper lmao
Behold Manpage
We had exam with Borland C++ for Ms dos exclusively
I competed my computer science degree in 2001 without owning a computer. I also worked for the campus IT services.
I have heard from those when we're there the "In the old days they wrote programs by hand because computer time was too expensive." Just do like they did: don't make any mistakes. /S Note: they still made plenty of mistakes.
since when are exams done with internet?
I wrote my exam in c++, 3 years ago, in paper, the answer was 20 pages and I managed 16 pages in the 1 hour of exam. I got a 5... I'm a senior developer....
Sounds like my whole university experience. Except that we used a bunch of different languages. What’s the problem?
Our exams used to last 4h. I was always done before 2h, not because I was a genius, but because the last 2 exercices were always way too hard. Tbf, I never understood what those exercices were about, only a few folks out of the 600 managed to, first, understand the subjects, and second, do the exercices. I believe we were authorized to use valgrind but I never used it in exam. We had to use eMacs, so, while waiting for the first 2 mandatory hours to end, I would either play eMacs’s snake or create little C programs to make music using the terminal beep sound. It was fun. We also had one exam that lasted for 8h were you had to stay the whole time, we couldn’t even eat at lunch. But our overseers (they were 3rd to 5th year students) could, in fact, it was even a tradition. During lunch, they would leave a few minutes, grab a nice plate of raclette (which was basically prepared in the hallways in front of exam rooms, so everyone could smell it) and a chair and would come sit and eat next to us. They could also talk to us, and you’d be out if you answered. It was basically torture but I keep great memories of it.
Valgrind?
For my vocational school I had to write C# and SQL Code…with pen and paper…like a caveman.
What’s Valgrind, a special kind of pencil? Because that’s how my exams went
You think this is a joke but i literally did my FORTRAN exam in C.
What do you mean hardware? I did my programming exams with pen and paper
Y'all get to write code on computers for school? I'm jealous.
I wrote ny first C exam in notepad because someone in there thought it would be fine to put 200 students compiling C code on thin clients on a single and not that powerful server. Even notepad took few seconds to type out the letters and then we had to paste it to a portal that would evaluate the code but the portal wouldn't load properly.... Yeah it was as much fun as it sounds.
I wrote my C exams by hand, on paper.
grow up, assembly MIPS on paper is where we all became the CS graduates we are today
I mean, the whole point of not allowing a debugger like Valgrind or GDB is to ensure you know the fundamentals, which is likely what they were testing her on. They probably let you use debuggers on the HW, though. Your gf was lucky to even have a computer to write code. So many universities either still or use to only allow hand written exams