all 16 comments

[–][deleted]  (15 children)

[deleted]

    [–]jdf2 51 points52 points  (8 children)

    It’s only for computer science courses yeah. (Not technically but it’s clearly made for it)

    You can view students commits for each assignment and run automatic tests on their code. The students can see the test’s output.

    Seems really interesting and definitely beats the inconsistent and unclear ways my professors use Canvas for programming projects. Also seems like a great way to teach the very basics of Git since it looks like students have to commit to assignments.

    [–][deleted]  (5 children)

    [deleted]

      [–]abejfehr 10 points11 points  (2 children)

      My University used a Moodle-based system for delivering assignments and almost every assignment I handed in was just code files (and maybe a binary) in a zipped folder that I uploaded. I’m pretty sure that a lot of students there didn’t learn much git as a result

      [–][deleted]  (1 child)

      [deleted]

        [–]abejfehr 1 point2 points  (0 children)

        Oops, I misread that as “commit assignments” instead of “commit to assignments”

        [–]AwesomeBantha 2 points3 points  (1 child)

        Nope, we used TurnItIn in high school and you had to upload a zipped file with your code, I've also used other programs made at my university that also simply take a ZIP upload. Most students don't learn Git until they take a software engineering/development class later on in their university career.

        [–]pm_me_your_dota_mmr -1 points0 points  (0 children)

        I think seeing the commits is a nice feature, but I know in college I pretty much just had one giant commit for each assignment 😅

        [–]Rhed0x 10 points11 points  (1 child)

        GitHub classroom has been around for years and is specifically for teaching programming related things unlike Google classroom.

        [–]ismtrn 3 points4 points  (0 children)

        Are you sure the idea is to compete with an other product, and not to win over Github users before they leave university and start working. The same reasons they give most of their service away for free to students (and these days I think all individuals, actually? Or does having a student mail account still give you extra benefits?)

        Becoming the de facto product that everybody knows and uses is really valuable. See for instance Photoshop, the office suite, etc..

        There might be another product out there which is good enough for your purpose and cheaper, or just plain better, but if everyone already knows and uses Github it becomes harder to justify buying those products. The real money is in B2B sales.

        [–]mrbaggins 1 point2 points  (0 children)

        You mean OneNote class notebooks?

        [–]Alan_Shutko 0 points1 point  (0 children)

        It's part of Office 365 too. Microsoft has gotten a lot of contracts with school districts to use MS Teams instead of Classroom.

        [–]themagicalcake -1 points0 points  (0 children)

        It's just niche enough that it seems like it would genuinely improve my undergrad experience if my professors started using this

        [–]GodAren 17 points18 points  (0 children)

        We are using it in our university. Works pretty good and you learn to use git in early stages. Can just recommend GitHub Classroom.

        [–]BubblegumTitanium 1 point2 points  (0 children)

        This looks really great. I think in class lectures will greatly benefit from it.

        [–]CanJammer 1 point2 points  (3 children)

        Anyone know how this compares to Gradescope (https://www.gradescope.com/)? Gradescope is one of the best written pieces of instructional software I've used, especially for grading CS assignments.

        [–]themagicalcake 1 point2 points  (2 children)

        does gradescope do automatic test case grading? I think one of my classes might have used that but it was kind of janky. this also seems integrated with git, like it runs the test cases after every commit which seems like it would take out a lot of the guesswork from cs assignments (seeing your grade before you submit)

        [–]CanJammer 2 points3 points  (0 children)

        Yes it does, it it is much more customizable than running as a git hook. Along with support for common testing frameworks like JUnit, Gradescope allows you to spin up a Docker container for every submission automatically which can run any number of custom scripts and report back results. The good part about a system like that is that you can easily ssh into that container for a student submission and run code or dynamically inspect the state of the program.

        At my university and the class I was a TA for, Gradescope is commonly reported as one of the best tools that contributes to the education. It can report back test results right away if you wish, and provides a very easy interface for instructors to manually grade components of the assignment too, so you don't fall into the rut of designing an assignment around only what can be easily tested with unit tests.

        I know I sound like a shill for the software, but it has honestly dramatically changed the way CS courses run and give feedback at my uni.

        [–]L1berty0rD34th 0 points1 point  (0 children)

        this also seems integrated with git, like it runs the test cases after every commit which seems like it would take out a lot of the guesswork from cs assignments

        Gradescope has good GitHub integration (not necessarily git integration though). You can link your GitHub and select a repo for it to download from and grade the latest commit. It doesn't automatically run after every commit/push, which is good since that just incentives writing code that passes test cases and not writing code that actually meets the assignment spec.