Live data from Hacker News

GitHub Classroom

classroom.github.com

131–140 of 171 posts

Re: GitHub Classroom

#131
post #22

This type of system seems obvious for programming courses but I wonder how intuitive it is for pure documents; the classic essay or report style assignments. At what age do kids embrace Markdown as the single source of truth for their documents? Do technical writers within Google use Gerrit, or whatever their Perforce based review process is called, as a core part of their collaborative workflow like coders do?

Markdown is out of its league for proper typestting. LaTeX is superior in a major way.

How proper is proper? You can write LaTeX for math in Markdown, getting simple prose and readable math at a loss in elegance but a big win in simplicity.

http://flennerhag.com/2017-01-14-latex/

Re: GitHub Classroom

#132
post #94

Just on a minor note. Having taught programming classes in the past, don't use automated testing for grading, or at least not fully. First of, there is a lot more to judge in a program than just the correctness of its output. Is the code readable ? Re-usable ? Did the student understood the core concept of the language and used them correctly ? I saw some student fail to produce a correct program but had a well organ…

Idea: since abstractions like functions exist in order to help you prevent bugs in sufficiently complex systems being manipulated iteratively, is the problem not that testing for correctness is bad form, but that the assignment wasn't sufficiently realistic for them to need the abstractions?

Re: GitHub Classroom

#133
post #94

Just on a minor note. Having taught programming classes in the past, don't use automated testing for grading, or at least not fully. First of, there is a lot more to judge in a program than just the correctness of its output. Is the code readable ? Re-usable ? Did the student understood the core concept of the language and used them correctly ? I saw some student fail to produce a correct program but had a well organ…

You make a good point to not use automated testing fully. I would highly recommend using some level of automated testing in every classroom.

Without automated testing, a lot of energy is spent on making sure the program runs and does what it's supposed to. Since students use all different kinds of environments (especially in beginner courses), just getting the program to run is a big challenge. Lint reports are great and I recommend adding them as part of the automated testing stack.

One huge advantage of automated testing is that students know before submitting that they understood the problem correctly, their program does what it's supposed to, and they are submitting it in the format that the instructor is expecting it in. A realtime feedback loop will always result in better submissions and grades.

Of course, once the basics are out of the way, instructors must look into the code to make an evaluation of whether the problem was solved the "right way" - whatever that means in the context of the course.

Source - I maintain a tool that automatically grades CS assignments and have collected a lot of data points over the last few years.

Re: GitHub Classroom

#134
post #8

GitHub classroom is awesome and although it's been around for a while it has seen a lot of love recently, especially adding browser IDE integration and autograding. We at Repl.it worked closely with them to make it really easy for students to start coding in seconds instead of hours. Announcement and HN discussion: - https://github.blog/2020-05-26-code-in-the-browser-with-gith... - https://news.ycombinator.com/item?i…

Thank you for the massive leaps you’re making with repl.it. It’s game changing how low the friction is. How do I quickly convince my safeguarding team of the safety of repl.it and github integration? We’re obviously concerned about pupils having contact with strangers. A much more common problem in schools is bullying. It’s also important to not allow yet another channel for harassment. Anything where pupils can priv…

Isn't more important and effective to shut down harassers than give the harassers free roam but try to lock down the whole world to prevent harassment?

Re: GitHub Classroom

#135

Earlier quoted context omitted.

> but I’m taking the product name “Github Classroom” seriously. Maybe it should have been named “CSLab”. I also was confused about the scope they are going for with this. My initial assumption was that since it's GitHub, it's probably mostly for coding lessons. I read your comment though which implied it could be used for more generic lessons and I mistakenly assumed you had used the offering and had more info about…

> Are you suggesting complicated version control could be useful for e.g. some group of teens doing a 6 paragraph research paper in their social studies class? Yes, kinda. I am suggesting that revision history is a powerful tool. The concept of change control has long been a staple of science and engineering. So yeah, I see a group of teens working on a a three file project, Report.md, TODO.md, and Links.md very usef…

Yeah I'm fine with that proposal as well. I think that existing wiki solutions could do what you suggest. I'm not sure if any wiki systems use git as a sort of backend and I have a feeling that a database is better suited to the task. I think you might be overestimating the need to revert to older versions to more than the level of specificity that something like Time Machine or File History provides. I also think that merges and diffing aren't necessary or useful compared to the collaborative simultaneous live editing features that Docs has.

I understand and completely agree with the core premise you're getting at here though. You want mainstream collaborative learning using proven open source tools and formats either directly or as a backend of sorts.

I thought the idea of students using git or markdown directly was silly but there is merit to using those as the backing structure for a more user friendly (and hopefully also open source!) frontend.

Re: GitHub Classroom

#136
post #94

Just on a minor note. Having taught programming classes in the past, don't use automated testing for grading, or at least not fully. First of, there is a lot more to judge in a program than just the correctness of its output. Is the code readable ? Re-usable ? Did the student understood the core concept of the language and used them correctly ? I saw some student fail to produce a correct program but had a well organ…

I had one professor who used private (30%) and public (70%) tests. You could iterate on the public tests up until the submission deadline. But you never saw the private tests until the professor ran them on your program after you submitted it. I think this was a good middle ground that forced you to think beyond the rigid parameters of the public tests, and discouraged things like “switch” statements. Quality of code…

I graded for a class that took a similar approach to this - the students had a small amount of tests available to them that allowed them to iterate over the requirements for the assignment, but we had more exhaustive tests that we ran automatically. In addition to checking test completeness, we also looked at the source code itself and graded for quality of that. The automated runner handled a lot of the hard work for us, but it definitely wasn't a situation where we saw some failed unit tests and then proceeded to fail them or anything.

The system used to pull this all off is pretty interesting, I think. It's all open source: https://github.com/redkyn

Re: GitHub Classroom

#137
Does anyone have any experience using this to access recruiting assignments? Or any other such tools you could recommend for an org that is already in the Github ecosystem?

Re: GitHub Classroom

#138

Earlier quoted context omitted.

Seems like it might be better to pressure HN to fix a clear bug by continuing to use this formatting though.

Arguably the bug isn't the rendering of code blocks, but using them to delineate quotes.

Maybe the bug is not having blockquotes, something that people clearly want? We're seeing a desire path of feature use.

Re: GitHub Classroom

#139
post #3

I wonder if exercism.io could have been used as well for this type of thing. Even their pitch is very similar to what's on exercism.io > Learning through Exercism is quite different to other programming websites, with a focus on individual practice and mentor-based learning. Here's how it works. ...

The mentor feature is basically useless, there are way too many people using Exercism for mentors to be able to contact each and every one of them. Your best bet is to just do the exercises themselves and search for any errors.

This depends on the language path. I've been mentoring a few of the language paths, but as an opportunity to learn/use the system, I've also been a student on a number of them. Some are overwhelmed. For instance, there was an online course on Prolog earlier this year the seemed to overwhelm the Prolog track with a glut of new students. Other tracks have problems that are harder to mentor, the code is complex, so some mentors choose to avoid those problems creating a bottleneck. Their choice is reasonable, but without more experienced mentors the problem just gets worse.

Additionally, they're working on the third version of the site. So a lot of people are focusing their attention on that, or dividing their attention between making new content and handling the current load.

Re: GitHub Classroom

#140
post #22

This type of system seems obvious for programming courses but I wonder how intuitive it is for pure documents; the classic essay or report style assignments. At what age do kids embrace Markdown as the single source of truth for their documents? Do technical writers within Google use Gerrit, or whatever their Perforce based review process is called, as a core part of their collaborative workflow like coders do?

Really, shouldn't org-mode be taught to toddlers?
Post reply on HN