A proposed add-on for Code Quality in Software Engineering courses using GitHub

(Michiel Cuijpers) #1

Do you have students pushing back on quality when your TA’s perform GitHub Audits? Generally students and developers alike think that paying attention to Code Quality hinders them. While writing maintainable and thus future-proof code is of paramount importance to society (ref Marc Andreessen).

The Better Code Hub (BCH) is an free add-on to GitHub that your TAs will love. BCH gives a Definition of Done for code quality because it will not flood you with countless violations, but instead takes a benchmarked and holistic approach to assess the quality of the code base. In this medium post we argue that Higher Grades for Better Code.

We offer free access to private repo’s with Better Code Hub for teachers and their students in the non-commercial Education domain. Contact me if you want to know more about the BCH Educational Program. I can share experiences of teachers around the world using this tool to explain the concept of maintainable code to students.

Best regards, Michiel Cuijpers

(Dave Matthews) #2

Hi Michael,

I’d like to incorporate BCH into the Software Engineering course I’m teaching this semester at Colorado State University using the GitHub education repos we’ve already set up. Let me know what information I need to provide.

(Michiel Cuijpers) #3

Hi Dave, thanks your your request.

Authentication for Better Code Hub follows the GitHub handles. Currently BCH makes a difference between a) the [Free] plan for open source repos, b) the [Pro] plan to access to personal private repos and c) the [Team] plan that allows to analyse private organizational repos.

For Education we have a free [Team] plan that allows you and your students to analyse private + organizational repos. To grant you access i only need to know the handle of the GitHub Organization that holds these persons and the material. We could start with: https://github.com/csu2017sp314.

I am available for a Skype session to show you around in the Better Code Hub. lets make an appointment via m.cuijpers@sig.eu

best regards Michiel

(Michiel Cuijpers) #4

Hi Dave, Great that you have connected your 88 students of Colorado State University to Better Code Hub so easily. I have posted complementary copies of our book Building Maintainable Software Java Edition to help you interpret the analysis and prepare a lecture for the students to make effective use of the tool. Please contact me if there are any questions or issues, we are really committed at sig.eu to share Better Code Hub with computer science instructors -like yourself- around the world. Best regards! Michiel

(Fabio Petrillo) #5

Hi Michiel,

I’m lecturer (chargé de cours) at Polytechnique Montréal, teaching Software Quality and Architecture. In this session, we adopted Better Code Hub in our two courses, analysing OSSs to support student’s architectural refactoring proposals and software system quality evaluation and software process improvements. More than 100 students performed your practical activities on BCH.

We suggested several tools also, but the students spontaneously used BCH in your projects (okay, a little teacher’s bias :slight_smile: ). It was amazing how they quickly produced insights about quality aspects on very complex OSS, as Docker, Firefox or Jenkins. Definitively, BCH opened a new perspective about software quality in our courses.

Thus, thanks a lot for produce a remarkable work to improve software quality systems, supporting new generations of software engineers.

Best regards,
Fabio Petrillo, Phd

PS: If someone would like to contact me to know better our experience on BCH, feel free to ask me on fabio@petrillo.com or @petrillofabio (Twitter)

(Erdogmush) #6

At CMU’s Silicon Valley Campus, we are using BCH in the Foundations of Software Engineering Course. The project component of this course requires the students to complete a semester-long application over several iterations. This semester we introduced BCH to about 70 students (15 teams). We are already seeing tangible benefits in that some teams started paying genuine attention to their code quality. The badges make their scores constantly visible to them. Our goal is not to push the students to “play to the metrics,” but to instill a culture of quality. The latter is hard without an easy-to-use tool that seamlessly integrates with other tools and practices that the students are using (in our case, github and pull requests). On the class forum, there is healthy discussion about the various BCH categories, their benefits and perceived caveats, and tips to interpret the scores: this is most important to me as an educator. We still have to complement BCH with other JavaScript static analysis tools (and this causes some overlaps with BCH). It would be useful in the future to integrate those into the Write Clean Code category (perhaps it already does this for other languages). Thank you for giving CMU-SV students access to BCH.