  This paper provides a few approaches to automating computer programming and
project submission tasks, that we have been following for the last six years
and have found to be successful. The approaches include using CodeRunner with
Learning Management System (LMS) integration for programming practice and
evaluation, and Git (GitHub) for project submissions and automatic code
evaluation. In this paper, we describe the details of how we set up the tools
and customized those for computer science courses. Based on our experiences, we
also provide a few insights on using these tools for effective learning.
