a student-designed undergraduate program
In recent years there has been a growing interest and concern among professionals and educators in Computer Science about undergraduate and graduate programs. A student could possibly offer a new viewpoint into this area, being immediately involved in such a program. However, his view is restricted by the educational environment he has been exposed to, usually in a single undergraduate institution. The following presentation of an undergraduate student's views on a Computer Science education is based upon problems and solutions encountered in designing a possible undergraduate Computer Science curriculum for the University of Dayton. To be applicable, the curriculum needed to be constructed within the confines of current departmental and university constraints and also needed to consider faculty and their interests. This curriculum could be adapted to another university and to another faculty, providing that the faculty can cover the areas reflected in the curriculum. In designing such a curriculum for the University of Dayton, the interests and abilities of five full-time and two part-time instructors had to be considered. Their interests covered the areas of numerical analysis, linear programming, graph theory, compilers, operating systems, logic, programming languages, automata, formal language theory and analog computers. The faculty are especially knowledgeable in the areas of numerical analysis, logic, compilers, programming languages, operating systems, linear programming and graph theory, with individual abilities covering the remaining areas. The minimum departmental and university requirements consisted of 124 semester hours for graduation, 24 hours in upper level (junior and senior) courses in Computer Science, 12 hours in upper level mathematics courses, 30 hours of humanities, 6 hours of physics, 6 hours of chemistry, and the remaining hours consisting of electives. All of these factors had to be considered and incorporated into the designing of the curriculum.
program education computation computer science views environments present computer science education computer science curriculum curriculum constraint faculty analysis linear programming graph theory theory compilation operating system logic programming language language automata formal language analog requirements senior mathematics human physical factor timing logic program