Miaou,

The amount of people nitpicking about the brand of pseudocode or arguing the question is tricky reminds me of some coworkers, and not the good kind.

If you belong to the above category, try to learn some new programming language / read about some algorithm descriptions (not implementation) and go out take some sun. The question is super intuitive if you’re not stuck to a single paradigm or language.

OR3X,

Exactly. It’s pseudo code. It’s meant to be universally understandable, not language specific.

KillingTimeItself,

i’m of the belief that pseudocode should be real code that actually runs. I.E. something like bash. A scripting language.

LordCrom,

Starting off a noob programmer in Bash… Pure evil

KillingTimeItself,

thats why i hate pseudocode.

I would much rather just learn an actual language, or two even. At that point.

ikka,

The first language I tried to learn as a kid was Batch scripting…

(edit: and then some VBScript along the way! Eventually worked my way to C++ though)

Socsa, (edited )

So I teach coding to idiots. Confusing or poorly defined abstractions in pseudocode are bad. If you want people to infer useful information from pseudocode, and learn good practices from it, you need to treat it as if there a real underlying class structure written with good practices, or even better, make it comply to some actual language which does that. If you want to imply that this is a member of string, something like string.len_chars is way better imo because it captures the idea of a string being an array<char>. Then the next question can be about string.len_bytes (watch the wheels turn!). That naturally transitions nicely into object oriented paradigms of object containers/storage being at once a templated abstraction with a stride and depth, and also a physical thing in memory.

ChaoticNeutralCzech,

<span style="color:#323232;">86400000
</span>
vvvvv,

print(“x”) is you want to screw your students.

smokeybeef,

screw your students

ಠ_ಠ

treechicken,
@treechicken@lemmy.world avatar

“Dr. Prof. Mann, I really didn’t understand anything about UNIX on that last midterm. Can we go over how to touch and finger after class?”

treechicken,
@treechicken@lemmy.world avatar

It’s obviously:

Traceback (most recent call last): File “./main.py”, line 2, in <module> AttributeError: ‘str’ object has no attribute ‘length’

theFibonacciEffect,

Ah yes, all pseudocode is python

SkyeHarith,

Ah yes, python is psuedocode

treechicken,
@treechicken@lemmy.world avatar

I deduce these two sets must be the same then?

PhAzE,

The answer is 6. It’s 6 characters long.

potustheplant,

Not really, no. That would be the answer if x= len(day). The code in the image would just throw an error.

fidodo,

How do you know what language this is?

flumph,
@flumph@programming.dev avatar

“Monday”.length is working JavaScript and does equal 6. No print command afaik though.

AnAngryAlpaca,

deleted_by_author

  • Loading...
  • kia,

    You don’t need terminating semicolons in JavaScript. They’re added in if missing. It can actually cause a few bugs around returns.

    dvlsg,
    @dvlsg@lemmy.world avatar

    There technically is!

    developer.mozilla.org/en-US/docs/Web/API/…/print

    Well. In browsers, anyways.

    Scrollone,

    Yes, but it prints the page, so in this case it wouldn’t print anything

    PrettyFlyForAFatGuy, (edited )
    
    <span style="color:#323232;">function print(str) {
    </span><span style="color:#323232;">  console.log(str)
    </span><span style="color:#323232;">}
    </span>
    

    FTFY

    PhAzE,

    Yea, it’s pseudo code.

    force, (edited )

    no it wouldn’t, because this is OCR reference language

    run this

    Ephera,

    What the heck, did someone invent a programming language, so students wouldn’t have to learn any real ones?

    mounderfod,
    @mounderfod@lemmy.sdf.org avatar

    Having done OCR GCSE computing:
    It’s just a pseudocode style language that they use in exam questions so that you can understand the question regardless of which language your school had you study (in my case it was VB6 💀). In questions where you are asked to write code, you can use the reference language but realistically you just use the one you learned (although I did it all in python instead)

    56_,
    @56_@lemmy.ml avatar

    Huh interesting. In Scotland we had another one: en.wikipedia.org/…/Haggis_(programming_language)

    jlow,

    Are they using a red pen to write the checkmarks for correct answers to make it confusing but logical at least?

    autokludge,
    @autokludge@programming.dev avatar

    Nah, just using one of those handy pens with blue, black & 2 red ink. ;)

    blindsight,

    Grading in red is generally avoided, nowadays. Red is closely associated with failure/danger/bad, and feedback should generally be constructive to help students learn and grow.

    I usually like to grade in a bright colour that students are unlikely to pick: purple, green, pink, orange, or maybe light blue (if most students are working in pencil). Brown is poo. Black and dark blue are too common. Yellow is illegible. Red is aggressive.

    Anyway, I’m guessing they just graded everything in green. The only time I’ve ever graded in more than one colour was when I needed to subgrade different categories of grades, like thinking/communication/knowledge/application. In that case, choosing a consistent colour for each category makes it easier to score.

    SquishyPandaDev, (edited )
    @SquishyPandaDev@yiffit.net avatar

    Good thing this only uses ASCii characters, else you get into some fun discussions about UTF encoding

    qaz,

    But does it count the null byte or not?

    SquishyPandaDev,
    @SquishyPandaDev@yiffit.net avatar

    In most languages, length method doesn’t count the null terminator. Might result in some fun memory errors

    YoorWeb,
    silasmariner,

    They missed out the context code:

    
    <span style="color:#323232;">trait DoW { def length: FiniteDuration }
    </span><span style="color:#323232;">object Monday extends DoW { override def length = 24.hours }
    </span><span style="color:#323232;">...
    </span><span style="color:#323232;">implicit def toDoW(s: String): DoW = s match {
    </span><span style="color:#323232;"> case "Monday" => Monday
    </span><span style="color:#323232;">...
    </span><span style="color:#323232;">}
    </span><span style="color:#323232;">var day: DoW = _
    </span>
    

    (Duration formatting and language identification are left as an exercise for the reader)

    Magnetar,

    Upvote for using Scala.

    silasmariner,

    Implicit was too much of a give away wasn’t it?

    Magnetar,

    I’ve literally seen code that does something awfully similar. But you could have used an Enumeration.

    Fuck, I think you just gave me an idea for an issue in my code that has bugged me for days.

    silasmariner, (edited )

    I could’ve used a lot of things, but I’m on my phone and I wanted fewer characters to render it, whilst being sure it would work without having to run it.

    Also, I am pleased to have maybe helped. Perhaps we can be friends, you and I. Perhaps not. Idk, maybe you punch dogs, why would you do that? Seems mean.

    Have you ever just, like, edited a comment? How do people know when you did it? I guess if I were writing a thing to check it I’d use a registry of timestamps and checksums… So, like, ok, you can track, but why, how does it look?

    Anyway sorry I had some drinks between now and first post, goodnight

    paholg,

    Works even better in Ruby, as the code as given is valid, you just need to monkey patch length:

    
    <span style="color:#323232;">#!/usr/bin/env ruby
    </span><span style="color:#323232;">
    </span><span style="color:#323232;">module DayLength
    </span><span style="color:#323232;">  def length
    </span><span style="color:#323232;">    if ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"].include? self
    </span><span style="color:#323232;">      "24 hours"
    </span><span style="color:#323232;">    else
    </span><span style="color:#323232;">      super
    </span><span style="color:#323232;">    end
    </span><span style="color:#323232;">  end
    </span><span style="color:#323232;">end
    </span><span style="color:#323232;">
    </span><span style="color:#323232;">class String
    </span><span style="color:#323232;">  prepend DayLength
    </span><span style="color:#323232;">end
    </span><span style="color:#323232;">
    </span><span style="color:#323232;">day = "Monday"
    </span><span style="color:#323232;">
    </span><span style="color:#323232;">x = day.length
    </span><span style="color:#323232;">
    </span><span style="color:#323232;">print(x)
    </span>
    
    silasmariner, (edited )

    Code as given can be made valid in scala I believe. My starter was based on that assumption. I think raku can do it too, but you would probably have to x = $ to make it work…

    Edit: misread your comment slightly, CBA to change mine now. It is what it is

    kubica,
    kubica avatar

    The future is not yet young man.

    cows_are_underrated,

    It is indeed wrong. The correct answer would be 24.

    takeda, (edited )

    For 1 hour = 4^(-1) characters

    mox,

    hours = 0.25

    There. I fixed it! :)

    stoly,

    I wonder if day length is given separately in a table prior to the question? I’m not sure what they wanted except maybe seconds?

    CrazyEddie041,
    CrazyEddie041 avatar

    Conversations about language aside, the error is that "Monday" is a string with a length of 6.

    nathanjent,

    What is the type of the variable day though? As it is we have to make multiple assumptions, based on popular programming languages, about the internals of the string type and the print function to assume that it prints “6”.

    morrowind,
    @morrowind@lemmy.ml avatar

    That’s the variable name, not the type

    ripcord,
    @ripcord@lemmy.world avatar

    There is a fairly good chance that there has been more info presented in the class than we have been given here.

    Akrenion,

    It’s the length of the string. The number of characters is 6. It’s a play on words and a question.

    stoly,

    Oh wow. Thanks

    Car,

    I’m assuming they wanted the literal length of the string

    zarkanian,
    @zarkanian@sh.itjust.works avatar

    Naw, they wanted the metaphorical length. Computers are great at metaphors.

    stoly,

    That seems to be the consensus.

    dog,

    Most date libraries count to 23h 59m 59s then roll over to 00h 00m 00s. So the answer is 23 hours, not 24.

    Edit: I’m big dum dum. It’s asking string length of “Monday”, thus 6.

    deadbeef79000,

    You’re also mistaken about the time too. The first second of the day is 00:00:00 the last second of the day is 23:59:59

    That’s still a full and exact 24 hours.

    dog,

    Yes, it’s a full 24 hours, but a library doesn’t use 24:00:00 to represent the last hour, it’s 23:59:59. Once it hits 24:00, it rolls over to 00:00:00.

    Hence my initial error of answering 23.

    It’s not valid, but I don’t edit out erronous answers because I believe all data should be preserved, no matter how dumb it makes one look.

    deadbeef79000,

    It’s not valid, but I don’t edit out erronous answers because I believe all data should be preserved, no matter how dumb it makes one look.

    Doing the lord’s work.

    I have but one up vote and you already have it.

    diverging,
    @diverging@lemmy.ml avatar

    00:00:00 is the 1st second of the day. 23:59:59 is the 86400th second of the day. That’s 24 hours.

    lthlnkso,

    I think this is a good question and answer in the sense that it reveals a fundamental misunderstanding on the part of the student - exactly what you hope an exam would do! (Except for how this seems to combine javascript’s .length and python’s print statement - maybe there is a language like this though - or ‘print’ was a javascript function defined elsewhere).

    This reminds me once of when I was a TA in a computer science course in the computer lab. Students were working on a “connect 4” game - drop a token in a column, try to connect 4. A student asked me, while writing the drop function, if he would have to write code to ensure that the token “fell” to bottom of the board, or if the computer would understand what it was trying to do. Excellent question! Because the question connects to a huge misunderstanding that the answer has a chance to correct.

    MrRazamataz,
    @MrRazamataz@lemmy.razbot.xyz avatar

    For reference the “language” used in the exam would probably be Exam Reference Language (OCR exam board specifically, which I believe this question is from) which is just fancier pseudocode.

    morrowind,
    @morrowind@lemmy.ml avatar

    To add on to exam reference languages, this is valid ruby

    agressivelyPassive,

    Teaching complete “clean slates” is a great way to re-evaluate your understanding.

    I’ve had to teach a few apprentices and while they were perfectly reasonable and bright people, they had absolutely no idea, how computers worked internally. It’s really hard to put yourself in the shoes of such persons if it’s been too long since you were at this point of ignorance.

    captain_aggravated,
    @captain_aggravated@sh.itjust.works avatar

    I forget which one, but one of my flight instructor textbooks said “to teach is to learn twice.” And BOY HOWDY is that accurate.

    You will find no better teacher of expert aeronautics than a brand new student. They will show you a new perspective, every single time.

    abbadon420,

    Second this. I’m a teacher aid and I get to fix student’s code for students who are not technically inclined. It’s so much fun and I’ve learned so much McGuivering all that shitty mess together.

    alexdeathway, (edited )
    @alexdeathway@programming.dev avatar

    Trick question?

    attribute error

    Car,

    Poor question more likely

    alexdeathway,
    @alexdeathway@programming.dev avatar

    I am currently looking for job opportunity and amount of gotcha type question i see in OA is just something else.

    Car,

    I can’t imagine that’s any fun to deal with.

    “You should have known what the intent of the question was. Management won’t know or care about the internals of your code as long as it meets requirements. You have failed this test.”

    Or

    “You should know that you’re calling a function with invalid parameters. Where did you get your CS degree from again?”

    alexdeathway,
    @alexdeathway@programming.dev avatar

    “You should have known what the intent of the question was. Management won’t know or care about the internals of your code as long as it meets requirements. You have failed this test.”

    “You should know that you’re calling a function with invalid parameters. Where did you get your CS degree from again?”

    sigh you can have your ransom, just remove the cameras.

    takeda, (edited )

    Do we know it is Python?

    alexdeathway, (edited )
    @alexdeathway@programming.dev avatar

    looked into it, gcse cs uses python in syllabuses.So, most likely

    mounderfod,
    @mounderfod@lemmy.sdf.org avatar

    no the school can realistically choose any sensible language, the one in the exam question is a pseudocode one that is used only to make the exam questions understandable regardless of which language you studied

  • All
  • Subscribed
  • Moderated
  • Favorites
  • programmer_humor@programming.dev
  • tacticalgear
  • DreamBathrooms
  • cisconetworking
  • khanakhh
  • mdbf
  • magazineikmin
  • modclub
  • InstantRegret
  • rosin
  • Youngstown
  • slotface
  • Durango
  • kavyap
  • ngwrru68w68
  • JUstTest
  • everett
  • tester
  • cubers
  • normalnudes
  • thenastyranch
  • osvaldo12
  • GTA5RPClips
  • ethstaker
  • Leos
  • provamag3
  • anitta
  • megavids
  • lostlight
  • All magazines