Teaching Clean Code

نویسندگان

  • Linus Dietz
  • Johannes Manner
  • Simon Harrer
  • Jörg Lenhard
چکیده

Learning programming is hard – teaching it well is even more challenging. At university, the focus is often on functional correctness and neglects the topic of clean and maintainable code, despite the dire need for developers with this skill set within the software industry. We present a feedbackdriven teaching concept for college students in their second to third year that we have applied and refined successfully over a period of more than six years and for which received the faculty’s teaching award. Evaluating the learning process within a semester of student submissions (n=18) with static code analysis tools shows satisfying progress. Identifying the correction of the in-semester programming assignments as the bottleneck for scaling the number of students in the course, we propose using a knowledge base of code examples to decrease the time to feedback and increase feedback quality. From our experience in assessing student code, we have compiled such a knowledge base with the typical issues of Java learners’ code in the format of before/after comparisons. By simply referencing the problem to the student, the quality of feedback can be improved, since such comparisons let the student understand the problem and the rationale behind the solution. Further speed-up is achieved by using a curated list of static code analysis checks to help the corrector in identifying violations in the code swiftly. We see this work as a foundational step towards online courses with hundreds of students learning how to write clean code.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

E-Clean Matrices and Unit-Regular Matrices

Let $a, b, k,in K$ and $u, v in U(K)$. We show for any idempotent $ein K$, $(a 0|b 0)$ is e-clean iff $(a 0|u(vb + ka) 0)$ is e-clean and if $(a 0|b 0)$ is 0-clean, $(ua 0|u(vb + ka) 0)$ is too.

متن کامل

A note on uniquely (nil) clean ring

A ring R is uniquely (nil) clean in case for any $a in R$ there exists a uniquely idempotent $ein R$ such that $a-e$ is invertible (nilpotent). Let $C =(A V W B)$ be the Morita Context ring. We determine conditions under which the rings $A,B$ are uniquely (nil) clean. Moreover we show that the center of a uniquely (nil) clean ring is uniquely (nil) clean.

متن کامل

Speech enhancement based on hidden Markov model using sparse code shrinkage

This paper presents a new hidden Markov model-based (HMM-based) speech enhancement framework based on the independent component analysis (ICA). We propose analytical procedures for training clean speech and noise models by the Baum re-estimation algorithm and present a Maximum a posterior (MAP) estimator based on Laplace-Gaussian (for clean speech and noise respectively) combination in the HMM ...

متن کامل

Exploring Software Engineering Catalogues with Poster Sessions

In modern software engineering there are many aspects of software craftsmanship that consist of long catalogues of patterns or of dos and don'ts. For example, there are a number of standard books on important topics such as refactorings, aspects of Clean Code and design patterns that are useful to the practitioner, but would be extremely boring if they were to be taught by an instructor display...

متن کامل

A Comparative Study on Iranian EFL Teachers’ Awareness of Code of Ethics in Research: the Role of Gender and Years of Teaching Experience

This study is aimed at examining the role of gender, and years of teaching experience in Iranian EFL teachers’ awareness of the code of ethics in research. 272 Iranian EFL teachers were chosen based on convenience sampling and were assessed through the Iranian EFL teachers’ awareness of the code of ethics in research scale inventory. After gathering the questionnaires, data was analysed by SPSS...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2018