r/learnprogramming • • 2h ago

Am I a wimp for this

Sorry, I wasn't sure how to summarize this in the caption. My point is: am I a wimp for hating tests where we're given documentation with zero comments?

​They just list a bunch of methods with zero explanation of what they actually do. I get that having full documentation makes answering questions easier, but isn't problem solving the whole point of programming? I really don't see why I'm expected to memorize what every single method and class does when there are hundreds of them listed on the 'documentation' sheet. Prepping for this test feels way more like memorization than applying actual problem solving skills.

​Sorry for the rant. I know it is what it is, and even though I despise it, I'm still going to do my best for this test.

2 Upvotes

14 comments sorted by

4

u/schoolmonky 2h ago

You're given documentation, but have to memorize what methods do anyway? That's not documentation then, I don't know what it is

5

u/FreeLogicGate 2h ago

If programming required memorization of long lists of api/function/method names, parameter lists etc. I wouldn't have had a career. Programmers have documentation, and search for things. When you work with or know a number of different languages, and you factor in libraries and frameworks that are often in a semi constant state of flux, the only people who would program would be those born with Hyperthymesia.

It's not a thing. Programmers have documentation, IDE's that introspect and autocomplete, access to internet search engines, and now LLM's.

I sincerely hope you're not being given tests where you're being expected to memorize large classes and all the public methods.

Purely as an academic exercise, I don't think it's unreasonable to expect students to have gone through all the methods, to learn what they do, depending on the language you're studying. Again, with AI you can pretty much instantly get the AI agent of your choice to create the study/cheat sheet it sounds like you would like, at least while you're reviewing them.

2

u/New_Contribution4913 2h ago

It's a LeetCode style test. Where we're given about 25 problems to solve covering topics taught in the course. I don't mind that part, the issue is there are questions that import foreign libraries not covered in the course, or roughly skimmed over (at least in the example questions). The questions also don't have any explanations on what we're required to solve or do, which is also fine not gonna complain about this, but there are so many restrictions that force you to use unconventional/niche solutions where I would appreciate having proper documentation on hand.

I will for sure keep studying and do my best to learn all I can, I won't be using this as an excuse to fail, even though it frustrates me beyond believe.

2

u/FreeLogicGate 1h ago

Totally understand your frustration. The Leetcode thing came around long after I started programming, so it's all foreign to me, but I understand and respect the commitment to achievement involved.

2

u/Samstercraft 1h ago

not op but my horrible prof has us code in lockdown browser (gotta love java without indentation, syntax highlighting, and an fps greater than 2) and we cant even use code checking tools like a compiler. we have to memorize random things that normally i'd just test in jshell in the span of 2 seconds. luckily there's also lab exams where we can bring a cheat sheet.

1

u/FreeLogicGate 1h ago

Yeah that really sounds ridiculous and the complete opposite of what any professional developer would be doing, regardless of the type of java development being studied. I say this as having been a developer at fairly well known telephony company which had a large investment in web applications written in Java. Every engineer working on those apps had one or more workstations, with multiple monitors and an intellij license. Not sure what the teacher is trying to prevent. I do know that a lot of programming classes that involve Python, are distributed through a series of Jupyter notebooks, and the students never leave Jupyter and do their assignments within Jupyter. God forbid they actually wrote their own Python application with modules, a pyproject.toml file and the requirement it actually be run using the python cli.

•

u/Samstercraft 40m ago

my prof just LOVES lockdown browser, while also not really knowing how to teach anything. he said people cheated when he allowed code check (?) last semester and now we get blank text box :D like thanks i hate it, i'd be better if he stared down at me and asked me to explain/justify every step i did but of course theres not enough instances of the professor to do that for each student.

2

u/horangiwhakkatchi 2h ago

Not a wimp, but you should get used to it. The real job, you learn by reading code. You can't rely on documentation. Every job I have had as a software engineer, the docs have been incomplete, out of date, or missing entirely. You're still expected to learn the codebase and work in it efficiently.

If the teacher is giving you the code as the documentation in an open notes test, you don't have to memorize it. You just need to know the programming language so you understand what's happening. It sounds like you're not too comfortable with the language so you are having trouble comprehending what you're seeing. That'll get better with time and the more you write your own code (don't rely on AI, it won't help you develop this skill).

2

u/FunAd6672 2h ago

Terrible documentation is basically an industry standard so consider this early job training.

1

u/Naive_Topic_5292 2h ago

I wouldnt like that to, everyone is used to read proper docs

1

u/captainAwesomePants 2h ago

no that sounds kinda awful.

1

u/Key_Storm_2273 2h ago

I think you’re valid in your frustration, people have different learning styles, “VARK+”. When you make things good for all but one of them, it can be frustrating and feel like one was left out. My learning style is more logical/analytical, if there’s source code attached, I can figure out what a method does if there isn’t comments in the documentation, and I rely on this and practice using things more than flash cards/rote memorization in the real world

1

u/gm310509 2h ago

Lol, does sin(x) calculate the sine of an angle in degrees, radians or something else (e.g. gradients)? Or, perhaps in a religious API, it would record the number of sins somebody has committed.

Documentation is important.

1

u/Available_Safe1818 1h ago

Which classes and methods? It cant possibly be every single one that ever existed.

Somehow other students should be able to pass...