Universities are increasingly offering courses online. Feedback, assessment, and guidance are important features of this online courseware. Together, in the absence of a human tutor, they aid the student in the learning process. We present a programming training environment for a database course. It aims to offer a substitute for classroom based learning by providing synchronous automated feedback to the student, along with guidance based on a personalized assessment. The automated tutoring system should promote procedural knowledge acquisition and skills training. An automated tutoring feature is an integral part of this tutoring system. Categories and Subject Descriptors K.3.1 [Computers and Education]: Computer Uses in Education – Computer-assisted instruction (CAI). General Terms Management, Design, Human Factors, Languages. Keywords Structured Query Language, tool-mediated independent learning, skills training.