THE UNIVERSITY OF NORTH CAROLINA AT ASHEVILLE
Senate Document Number 2111S
Date of Senate Approval 03/17/11
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Statement of Faculty Senate Action:
APC Document 14: Delete CSCI 201;
Add new courses, CSCI 181 and CSCI 182
Effective Date: Fall 2011
1. Delete: On page 106, the entry for CSCI 201:
201 Introduction to Algorithm Design (3)
Problem solving and algorithm development; data and procedural abstraction (ACM CS1). Taught using Java programming language. Includes a formal laboratory section using program development tools. Fall and Spring.
This course is being replaced by CSCI 181 and 182
CSCI 201 is being replaced with CSCI 181 and 182.
Add: On page 106, new course, CSCI 181:
181 Introductory Programming for Numeric Applications (3)
Problem solving, algorithm development, and data and procedural abstraction with an emphasis on developing scientific applications. Taught using Java and other appropriate technologies. Includes a formal laboratory section using program development tools. Students may not receive credit for both CSCI 181 and 182. Fall and Spring.
2. Add: On page 106, new course, CSCI 182:
182 Introductory Programming for Media Applications (3)
Problem solving, algorithm development, and data and procedural abstraction with an emphasis on developing applications that interface with the senses. Taught using Java and other appropriate technologies. Includes a formal laboratory section using program development tools. Students may not receive credit for both CSCI 181 and 182. Fall and Spring.
CSCI 181 and 182 will replace sections presently taught as CSCI 201 and CSCI 273. Consequently there should be no impact on staffing. Departments which presently require CSCI 201 can now choose to require either CSCI 181 or 182 for their students.
Over the last few years, the Department of Computer Science has taught CSCI 201, a “traditional” introductory programming course, along with a few Special Topics introductory courses customized for the students of other departments. The first of these was ActionScript Programming taught in 2006 for students in the MMAS major. Since the Spring 2009 semester, we have taught several 200-level Special Topics programming courses such as Processing for MMAS, and Mathematical Algorithms for MATH.
The department would like to formalize this arrangement by teaching two versions of introductory programming— one for developing applications for processing numbers (CSCI 181), and the other for developing applications using graphics and audio (CSCI 182). The department will seek a QI (Quantitative Intensive) designation for CSCI 181.
Either of these courses will be an appropriate prerequisite for CSCI 202, our second programming course. Computer science majors may use either course to complete their major requirements, and the department hopes other UNCA programs will allow their majors the same flexibility.
We expect most of our majors will elect CSCI 182, the media version of the programming course since the “multimedia approach” has become popular for teaching programming concepts.
The course descriptions deemphasize the role of Java in the introductory courses. This change in the description is a reflection of a corresponding change in how CSCI 201 and the alternative programming courses have been taught. Because the Java programming language is used in AP Computer Science course and most introductory college courses, we feel that is important to explicitly mention Java in the course descriptions even though it is no longer the only programming language used in the course.
There are a few reasons for the renumbering of 201 to 181. First, we really wanted to make it clear that this course was intended for first-year students. Second, we wanted our introductory programming courses to have similar numbers. We thought the 18x range would be appropriate for this purpose. We are considering moving 242, an introductory programming course with business applications, to this range next year. And, finally, we have also thought that our introductory programming courses should have a number lower than MATH 192, since our students think Calc I is a much harder course.