ABET Course Committee Review Report Course number: COP 3014 Course name: Programming I Course review committee members: Ann Tyson (chairperson), Robert Myers, Chris Lacher, David Gaitros Report submitted date: 09/10/2013 ---------------------------------------------------------------------- 1. Were there any problems with the course last year? If Yes, describe the problems. Yes. There has been some inconsistency in the course in recent years. A variety of instructors has rotated through, including some graduate student TAs. This has not caused problems for COP 3014 itself so much, however it has caused problems in some inconsistency of preparation of students for the follow-on course, COP 3330. Some of the committee did not feel that current textbooks in use are as good as they should be. The incidence of honor code violations seems to be on an ever increasing trajectory. ----------------------------------------------------------------------- 2. Course committee recommendations to current/future instructors. Follow the university's curricular file syllabus to keep the course topics, level of rigor, and pacing as consistent as possible amongst instructors. The review committee thought that the current curricular file syllabus is appropriate as it is now, and that most instructors have been following it. Consider alternative textbooks to see if something better can be found. Run a software plagiarism detector regularly on all program submissions and follow university procedures for honor code violations. One recommended detector is the MOSS program from Stanford University, which several instructors have used with success. It was also noted that this course is to focus on use of MS Visual C++ on Windows as per prior ABET accreditation agreements. In addition, it was noted that the course is intended to focus on the procedural, C kernel of C++, with a strong emphasis on relating program operation to memory allocation (e.g. runtime stack) so that students are well prepared for topics in COP 3330. This course does not, and should not, cover actual creation of classes in C++, while it does definitely discuss usage of some standard, basic classes in C++ (e.g. iostream, cin, cout). The major topics covered which are not part of the C kernel are call by reference parameters, const call by reference parameters, iostream standard IO, and the string class (note that C-style strings are still covered as well, and contrasted). If time permits and the curricular file syllabus topics have been covered, it is fine to cover additional, non-required topics for this course which are helpful in preparing students for COP 3330 and other coursework." ------------------------------------------------------------------------ 3. Course committee recommendations to department/UCC regarding this course. Only regular full-time faculty should teach this very critical core course. This course is far too important to CS majors to allow for inconsistency in topic coverage, rigor and pacing when taught by either graduate student TAs or adjuncts. Make the curricular file syllabi more easily available to all department faculty. Prepared by: A. F. Tyson 09/10/2013 ------------------------------------------------------------------------