14 ms·
GitHub Classroom
- mmm_grayons 6y agoI'd hate the idea of having a record of all my mistakes as a student. I'd probably just use a separate remote for my develop branch and squash into one commit when merging to master.
- saagarjha 6y agoIt's CI for your homework. Surely your teacher will only look at your finished work?
- skissane 6y agoSeeing your mistakes might be useful in reassuring the teacher that you did the work yourself, rather than simply plagiarising the solution from somewhere else.
- saagarjha 6y agoSorry, professor, I simply don’t make mistakes.
- vincnetas 6y agoIt does. First hand experience when after couple of months of not showing any progress student shows up with completed assignment coded using constructs which where not even taught in lectures... and when asked, can not modify a thing.
- saagarjha 6y agoI was mostly joking in my previous comment, but i know students (including myself) that have occasionally submitted assignments as a single commit passing all test cases using “novel” constructs…of course, we can readily modify it if asked to.
- deleted 6y ago[deleted]
- pilif 6y agoGit just isn't the right tool for that. If I were to use this as a student, I would push nicely sanitized and consistent history after thoroughly rebasing, amending and fixup-ing my mistakes on my local clone. There's nothing this too can do to prevent me from doing this. If the teacher then judges the submission by also looking at the history, I will have an unfair advantage by just having read and internalized got features.
- LifeIsBio 6y agoPersonally, I've found it really useful to look at student's intermediate commits. I don't judge them on it in any way, but it's extremely useful for seeing how the students are thinking about a given problem.
- tsumnia 6y agoNC State uses GitHub Enterprise for the CS2, Data Structures, and Software Development courses with testing occuring on a Jenkins CI server. From my experience, student's are fine making multiple commits and appreciate the immediate feedback. Most development is done offline, though there is some attempt to game the system toward the final submission, but it's mostly done by incrementally passing teaching staff test cases. Overall, I think this is a well received release, since it's something I know many students have appreciated in the past rather than waiting a week for teachers to grade their code.
- Cthulhu_ 6y agoMistakes is how you learn, and (unfortunately) how you prove you're doing the work (read: the learning) yourself and aren't just copying answers or having someone else do it for you. In a classroom setting, you don't have to pretend to be perfect. You have to learn. Perfection, polished history, etc is something you can save for your future career.
- Falloodude 6y agoReally? Memorizing mistakes and not making them again is how many students improve. How did you work around this?
- memexy 6y agoI 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. ...
- satvikpendem 6y agoThe 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.
- memexy 6y agoI haven't used it in a while so I don't remember the pain points but that seems correct. I was mostly interested in doing the exercises and not the feedback. What I meant with my original comment was that exercism.io had the right features for providing student feedback already, i.e. the feedback was the main point of the platform.
- holdn 6y agoHm, I received personal feedback on all of my assignments so far. Some was quite useful. Maybe it's because the language (F#) isn't as popular.
- Jtsummers 6y agoThis 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.
- shanecoin 6y agoThis seems like a great way for newcomers to learn the basics of `git` though GitHub. A great move by GitHub to try to capture this market of users who may not yet be comfortable with subversion control.
- saagarjha 6y agoThat being said, I'm a little too annoyed that "GitHub" is synonymous with "Git" in many students' (and professors'!) minds…
- est31 6y agoOn the other hand, git wouldn't be where it is now without GitHub. Together with the Kernel adopting git, Github payed a key role in git's success.
- amelius 6y ago> Together with the Kernel adopting git, Uhm, git was created by the people who were working on the kernel because they needed a better VCS.
- est31 6y agoYes, and this was a big part of the success. If someone else had built it, they might not have used it, which would have given it a much rougher time adoption wise.
- Cthulhu_ 6y agoYeah, if a student is taught Github as part of their curriculum they're more likely to stick with it. I can't really knock it, but at the same time, this has been Microsoft's strategy for a long time, with students learning Office in school but no competitors, so they take it with them in their private and professional life. It's a difficult one though, given that both github and office are pretty standardized / ubiquitous everywhere.
- amasad 6y agoGitHub 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-github-classroom/ https://github.blog/2020-05-26-code-in-the-browser-with-gith... - https://news.ycombinator.com/item?id=23313838 https://news.ycombinator.com/item?id=23313838
- gorgoiler 6y agoThank 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 privately message each other is usually quite difficult to endorse.
- sukilot 6y agoIsn'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?
- gorgoiler 6y agoIn real life, yes. With children, no. It’s harder and you really have to go out of your way to make it safe from day zero. Much as I would love to have them run into problems which I could turn into “and the real treasure we found was the friends we made along the way” teachable moments for them, they generate far too much strife for each other without already. Any additional tools to facilitate the social chaos of teenage life would be surplus to requirements.
- amasad 6y agoThanks for the kind words. I don't think repl.it provides anymore social features than say GitHub does. How do you currently handle those concerns with regards to social coding on GitHub?
- throwaway391003 6y agoHmmmm seems like a weird vertical for github to go into. kinda makes me feel they could be spreading themselves thin.
- tsumnia 6y agoMany course use GitHub as a part of their submission process. NC State connects a Jenkins server for their automated feedback to students. This would assist by reducing the number of platforms students need to use while learning CS.
- diarrhea 6y agoMy thoughts exactly. While they are busy embracing Linux, they should look into adopting its mindset of having one program (web-app?) do one thing well, and only one thing. It would be a shame if the base github.com got bloated.
- opportune 6y agoNot when you consider how oddly ubiquitous Office was in classrooms (though it may now be seeing competition from Google?). It’s a brilliant sales strategy. Get paid now for professional training of your software, then get paid again when the kid enters the workforce and expects their company to have the software.
- qchris 6y agoI could see this being an immensely useful tool in certain contexts. I know that having something like this, as opposed to submitting a print-out of my program results during my introductory programming course (as well as just being forced to become comfortable with what a command line is for pushing commits and understanding version control) would have a big step forward at the time. Obviously, it makes business sense for GitHub as well in terms of gaining users, but I think there's a chance this is one of those times when I see a serious upside for users could also be helpful to them in the long term.
- aneeqdhk 6y agoIt's a step in the right direction. They face issues that plague traditional LMS systems in that LMS systems are pretty much archaic and opaque in documentation. The CI part works well (I would expect the same from github), but things like syncing up your class roster or just inviting an ad-hoc set of students.... that's very clunky.
- jpm48 6y agoI've been using it for all my programming units for a number of years. Whilst I don't use all of the features the main bonus for me is making the students commit code regularly and see the progress (or not!). It also has a number of advantages, I have lost count of the number of times I have been sent screen shots of error messages (even camera photos of a screen). I now insist that all errors a reported via issues. This means I can fix / push code for problems and track what I have done. It also helps with plagarism as I can usually see the progress of students work with regular commits rather than one project that appears straight away via normal submission processes. For group work there are a number of tools to do analytics on who did what etc so it make seeing how well the group has worked. Now we are moving to online, I'm thinking of adding some of the CI / IDE features that are being introduced to help with Lab exercises, however in our area (Animation and Games) this is not ideal as a lot of what we do is visual / interactive.
- dntbnmpls 6y agoWhat about the privacy implications for your students? Do you have a way you handle that? Aren't you giving microsoft tons of your students' info ( including grades ) without the students' permission or even awareness?
- jpm48 6y agoNo grades are on there and all the repos are private by default, yes MS get the info of the code (I've been using it since before the take over of GitHub). I think the students having public GitHub repos are good for CV / Job prospects anyway.
- kame3d 6y ago> For group work there are a number of tools to do analytics on who did what etc so it make seeing how well the group has worked. I teach a computer graphics course and that seems useful. What tools do you use?
- jpm48 6y agoI've used this https://gource.io/ https://gource.io/ for a good overview of group work then the build in analytics. Most of what I do is to download and run the code on my local machine, but I also ask for unit tests which help with the grading. All code is mainly C++ / OpenGL with python sometimes.
- jsumrall 6y agoHappily using GitHub Classroom for programming assignments for the interview process at work. HR has the URL they send to the assignment, candidates do the work and create a PR, and then HR assigns developers as PR reviewers when the candidate is done.
- Corrado 6y agoI was just wondering if GitHub Classroom could be used as an interview step. I've not looked at Classroom very closely but I have a couple of questions; how do you handle the interviewees? Do they have to create their own user or do you re-use some generic ones? If it works like I expect it to, you should be able to create different "classes" for different roles; SysAdmin, Programmer, Designer, etc. And you could create increasingly more difficult tests; build a web page, personalize it, add a cart, etc. How are you guys using Classroom?
- davidbanham 6y agoDoes it allow you to set a hard time limit on how long the candidate has to complete the challenge?
- divyavaishnavi 6y agoYes you can set deadlines for assignments.
- divyavaishnavi 6y agoIts interesting to see you use Classrooms for the interview process :)
- sradman 6y agoThis 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?
- ma2rten 6y agoYes, technical writers at google use the regular code review progress (the code review tool is called critique).
- baron816 6y agoThinking back to my college liberal arts classes, I think this would’ve been great. I wish my professors would’ve required going back and revising papers—making them more of an iterative process.
- coderdd 6y agoThe review system at Google is just a review system. My main concern with this approach is, doing a review is tedious work. Getting the context, keeping an eye on changes, giving honest but non-offensive and actionable feedback. Clearly a good way, but fear it wouldn't scale to a classroom.
- saagarjha 6y ago> At what age do kids embrace Markdown as the single source of truth for their documents? Anecdotally, never for most students. I know many of my college classes required submissions in Microsoft Word format.
- LifeIsBio 6y agoNever seems like the correct answer to me too. Everyone I've introduced to it outside of CS doesn't see an immediate appeal.
- OkayPhysicist 6y ago
- OhSoHumble 6y agoToo bad it doesn't have enterprise support. Would be great for educational courses within a company.
- petepete 6y agoI'm currently teaching git to a group of about 10 content designers in the department where I work. They are enjoying it and looking forward to work more closely with developers and other designers. This would be ideal and would definitely make my job a bit easier.
- bvrmn 6y agoHm, why classroom requires admin access to organisation and private repos? It seems there is no way to opt out.
- Cthulhu_ 6y agoNot sure, maybe you're supposed to create an organization just for classroom?
- laurieg 6y agoI like the tool, especially the integrations with repl. Administrative paperwork quickly becomes a massive problem for teachers and any tool that cuts down on that workload is a God-send. I have used google classroom for courses before and I really like it. It's pretty easy to use but even so, it does create a fairly big mental over-head for most students. It's easier to forget that these days many university students have no computer experience outside of smartphones. I had one class where an assignment, a paragraph of text was submitted variously as a google document, a spreadsheet, a power point presentation and a screenshot from a phone. Git for none programmers is out of the question.
- hliyan 6y agoI know this comes from the Github team, but I'm not sure if I want to grant this permission: Delete repositories Ability to delete any adminable repository This application will be able to delete any repository to which you have admin rights.
- blackoil 6y agoIs this limited to a particular organization or complete account?
- hliyan 6y agoI believe it applies to organizations only after you explicitly grant access to those organizations. Otherwise it's just your private repos I guess.
- reustle 6y agoPlease don't use code blocks for quoting text until HN finally fixes their css on mobile. > Delete repositories > Ability to delete any adminable repository > This application will be able to delete any repository to which you have admin rights.
- dheera 6y agoYou can inject your own CSS on Firefox mobile. It's also great for getting rid of popups and paywalls.
- IggleSniggle 6y agoThis does not appear to be true on iOS? If it is...how?
- dheera 6y agoThat's because Firefox for iOS is really just a skin around Safari's WebKit-based engine, because Apple plays the evil gatekeeper on their app store and doesn't allow Firefox to use their own rendering engine. (Chrome on iOS is also effectively just a Safari wrapper.) It's one of the many reasons I think iOS is a horrible choice for a privacy-conscious user. Firefox for Android supports extensions.
- czechdeveloper 6y agoI've tried to use it once to teach group of 15 students. But I left it in favor of just public GitHub repository for each student. It just felt too heavy for the task.
- LifeIsBio 6y agoWow. What a mixed feeling of (mostly) amazement and (some) disheartenment. I started looking into this space--particularly the autograder feature with full control of the execution environment, which looks look it was added to GH Classroom this March--back in 2016. I was helping teach life science graduate students how to code, and was surprised to find I couldn't find anything that fit my needs. I started working on CodeStories[1] during the few spare hours I had each week after grad school work. I made it decently far and built out a number of cool features. On the instructor side, course creation is tightly integrated with Jupyter notebooks, which is really handy. And the courses themselves have a cool level-based structure where main problems have associated side-tasks. I was able to use the site to teach several summers of courses. I haven't necessarily kept a super close eye on developments in this space since 2016, so it wouldn't surprise me if there are other players with unique features at this point. But given that GH (arguably one of the biggest potential players here) basically just launched, there's clearly still work to be done. Personally, I had largely paused CodeStories after grad school until the events of early spring made it clear that remote learning is almost certainly going to make a resurgence. Since then, I've been putting in crazy after-work hours to figure out how marketing works (which has been intensely difficult given my lack of experience) and put a final layer of polish on a paid offering. Intermediate Python for Bioinformatics[2] starts in a couple weeks and looks like it's going to be a reasonable success. I'm excited for it and for whatever comes after it. All that to say, I guess this is what it feels like getting scooped. I'm sure it's possible to argue that I'd already been scooped. But somehow it's different seeing it from GitHub. Congrats to the team that built this! It looks like an amazing tool and I'm excited to see it put to use, particularly outside of the pure-CS world. [1] https://mycodestories.com/ https://mycodestories.com/ [2] https://mycodestories.com/inter_python_biofx_20/ https://mycodestories.com/inter_python_biofx_20/
- sdan 6y ago#1 Your story and the landing page are conflicting. I can't seem to understand anything about your product from the landing page #2 It looks like its time to pivot. Find a niche which you can exploit (like bio it seems) and conquer it. Google Docs looked like it was going to dominate everything and no one had to do anything else in that space, yet Notion comes along and is now valued at $2B.
- tannhaeuser 6y agoI'm wondering at which point all of those who took the blue pill and switched to github for all their code and for its networking effects come to regret this decision as github expands into and competes with their customer's business, not unlike Amazon in this respect. I'd imagine there have been a sizable number of elearning/digital classroom projects in the last 3 months due to coronavirus that might feel threatened, for example.
- joe5150 6y agonot a user, but this appears to be focused on programming coursework and would most likely be used to supplement an actual LMS. are there other products in this specific niche?
- MarceColl 6y agohttps://jutge.org/ https://jutge.org/ was created by two teachers at my university (UPC in Barcelona)
- vshan 6y agoI so wish all of this content was public. How lovely would it be for skill development if all of us had access to these assignments and projects with auto-graded tests.
- praveen9920 6y agoI love it. Accountability of submissions and recorded specific feedback for each assignment is great way to learn. One feature I would like to see is peer reviews. Although it might cause cheating or plagiarism, it could be useful tool for peer learning. Probably can add it as post assessment step.
- k__ 6y agoNice! I'm teaching software development and was using freeCodeCamp. But my students are designers, so the curriculum is often too much and I would like to strip it down. Maybe this is a way to streamline things a bit more in the future.
- yepthatsreality 6y ago> “all while using GitHub, the industry-standard tool developers use.“ They mean “service” not “tool”.
- jedau 6y agoThis looks awesome and seems to have tons of potential! I guess the main barrier here for adoption is that non-technical people might be too intimidated to learn how to utilize this properly. Maybe if the interface would be retooled to cater even to non-technical courses as well this could become a new standard for online learning.
- mushufasa 6y agoCan this be used to create automatic interactive tutorials for e.g. open source projects?
- maeln 6y agoJust 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 organized code. On the other hand, one of my student once created a program that was just made of switch instruction in switch instruction (up to 5 level of switches) and spread for more than 3000 lines, just because he failed to understand how function where working. You can try to plug a linter in your testing stack, a quality gate, all kind of software to measure the code quality, but it will never be truly fair. It will make your evaluation a game where the student challenge is not understanding the concept of the class, but instead, understanding the rules of the various test you put in place. And those rules tend to be even more arbitrary with than the teacher himself. Trying to automate grading is an engineer trying to apply its vision to education, and it my honest opinion, it is an awful idea. Providing tools to facilitate education is awesome, trying to automate education is a dystopia.
- bo1024 6y agoThat would be lovely in a world where the teacher-to-student ratio was say 20:1 rather than 200:1. Most major CS programs use automated grading for lower-level programming classes; check out Berkeley's huge infrastructure and toolset for their curriculum. There just isn't enough money (or competent TA's, often) to give good individual feedback on code style in intro courses. Perhaps it is our own fault for somehow giving administrations the impression it is possible to teach well at scales where individual attention is impossible. I don't know.
- topkai22 6y agoBack when I was college (and that was a while ago now), the 2nd or 3rd year CS students would grade the 1st year CS class (which was required curriculum for all 180 students across all of our technical majors). While we did get paid to do so, it wasn't a lot. There was a strong cultural norm that doing "grutoring" (grading and tutoring) was just what you did. I suspect that utilizing near peer style grading would be fairly scalable.
- darils 6y agoGitHub Education listens intently to the needs of students and teachers. We are delighted to work alongside Relp.it to help students get started quickly in the same coding environment, and allow teachers to focus on teaching instead of troubleshooting. IDE Integration announcement: https://github.blog/2020-05-26-code-in-the-browser-with-github-classroom/ https://github.blog/2020-05-26-code-in-the-browser-with-gith... GitHub Classroom starter guide: https://github.blog/2020-03-18-set-up-your-digital-classroom-with-github-classroom/ https://github.blog/2020-03-18-set-up-your-digital-classroom... Autograding with GitHub Classroom: https://github.blog/2020-03-17-improve-student-success-and-increase-teacher-time-with-autograding/ https://github.blog/2020-03-17-improve-student-success-and-i...
- Myrmornis 6y agoThis just sounds like sales talk. “Listens intently” doesn’t mean anything. Even if you work in sales for GitHub/Microsoft, please just write like a human when you post to HN.
- dimxasnewfrozen 6y agoThis looks great and really want to give it a try. Unfortunately, I can't add a github organization. It goes through but never shows up in my organization list.
- divyavaishnavi 6y agoHi @dimxasnewfrozen, We are working to improve this experience in Classroom. I would love to connect with you and gather your feedback. Do share your details https://forms.gle/Ni9Q8D574EWet5x27 https://forms.gle/Ni9Q8D574EWet5x27 and I shall reach out.
- elsurudo 6y agoDoes 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?
- Welaa 6y agoGithup.com
- divyavaishnavi 6y ago@maeln @pacman128 @nwhitehead, @tusharsoni, @throwawaygh, @bo1024, @elcomet, @jpm48, and everyone else intending to help us, we’d love to connect with you to improve GitHub Education. Do share your details https://forms.gle/Ni9Q8D574EWet5x27 https://forms.gle/Ni9Q8D574EWet5x27 and we shall reach out.