ABET Program Coverage A
| Class | Concept, Principle, or Skill |
|---|---|
| CptS111 | All of the course deliverables serve as measures of this outcome; however, perhaps the most indicative measure is project milestone 5, in which students programmed an interactive ""treasure hunt"" game. In that project, students were required to apply all of the programming constructs and techniques learned in the course. |
| CptS121 | Assignment 2: Design algorithmic solution to different kinds of problems, involving arrays and strings; |
| CptS122 | Each topic and each assignment extends the basic understanding of programming and software develop. Students add a significant number of tools and concepts to their repertoire Each exam evaluates parts of skills. |
| CptS223 | Most students were ultimately able to understand new concepts in object-oriented programming and data structures and use their new knowledge to write programs and answer questions. |
| CptS224 | Assignment 1: Describe and apply basic UNIX commands; |
| CptS251 | |
| CptS260 | This course contributes to students' knowledge of computing. It stresses acquisition of knowledge reinforced through application of the knowledge. |
| CptS317 | CptS 317 is a course on theory of computation with standard topics listed and covered in the course. Weekly home works and the three exams test the students on these topics (Copies of these instruments are provided in the course packet). Students demonstrate the knowledge of this theory and apply it in these evaluation instruments. |
| CptS322 | The development of the SRS including feature descriptions, use cases and models, CRC exercises, DFD and ERD modeling. State Models and Sequence Diagrams. |
| CptS355 | Students perform better on the programming-related tasks than on mathematics-related tasks; for example weakest-precondition reasoning is a struggle for many. This semester's class did somewhat better on this than past classes (Midterm 2, Q4). Recursive thinking is still a challenge for most at the end of the course (but they are much better at it than when they started). |
| CptS360 | Students learned the detailed steps of program development, from source code to executable, and the execution environment, including global/local, static/automatic variables, parameter passing in function calls, tack usage and dynamic memory management, etc. Most students do not understand these issues well before this class. In lab #4 they implemented a command interpreter, similar to the UNIX sh, which executes program images as processes. They learned the various levels of file operations, from hardware level to command scripts. In particular, they learned the difference between system calls and library I/O functions, and how to re-direct I/O by manipulating file descriptors. The class project is to design and implement a complete EXT2 file system that is compatible with the Linux operating system. Most students completed level-2 of the project, which supports read/write operations of files. After the class, they seem to have acquired a thorough understanding of file systems. In addition, they also learned server-client programming using TCP to implement remote file operations. A recurring "math" problem in systems programming is to convert linear counting to block counting, e.g. linear sectors to (C,H,S) form of hard disks, inode number and inode in disk blocks, bit position in a bitmap, etc. At first, most students had difficulty with these. In the end, all of them mastered my "mailman's algorithm" and can do the conversions with ease. |
| CptS401 | |
| CptS402 | |
| CptS421 | Students are expected to demonstrate a strong understanding of computer science and mathematics as it applies to the problems in their projects. Details depend on the project, but such topics as user interface design, networking, embedded system development, and real-time typically arise. |
| CptS422 | Students overall performed very well on assignments and exams. The following are quantitative measures for each assignment and exam: HW 1 - average: 95%; Note that the average on exams and homeworks were in the B range or higher. |
| CptS423 | All members of teams were able to demonstrate a strong understanding of computer science and mathematics as it applied to the problems in the projects they were working on. Students demonstrated mastery of interface design, networking, embedded system development and were able to apply knowledge and previous experience to new and challenging problems. |
| CptS425 | |
| CptS427 | |
| CptS430 | Students learn numerical methods and their application to real-life problems. They also learn the importance of analyzing or testing for consistency and stability. |
| CptS434 | Course projects require students to apply knowledge of artificial neural networks, statistics, and mathematics, using their programming language of choice, in solving problems. |
| CptS440 | When we cover search techniques in this class, students apply knowledge of computing and mathematics to design search techniques that trade off competing computational goals such as memory usage, computational run time, and quality of results. Run time and memory usage are also analyzed for two-player games and for machine learning algorithms. Students implement a subset of these algorithms for homework assignments and must be able to reason about these issues to solve problems in the class exams. |
| CptS442 | |
| CptS443 | A capstone user interface design project with five deliverables (proposal, design document, low fidelity prototype, usability study report, and final presentation) is completed in student teams of two to four. |
| CptS446 | Students are introduced to basic principles of animation and complete several projects that illustrate the use of these principles. |
| CptS450 | This outcome is a requirement for every successful student in the class, which I explicitly mentioned at the beginning of the course. For instance, let us look at the final exam which is comprehensive. Problem 1 tests a student's ability to use mathematics in algorithm's complexity analysis. 12 students (out of 14 total) solved the problem with almost perfect score (8/10). In fact, one of the focuses of the entire course is about applying mathematical skills and computer science knowledge in algorithm design and analysis. So, the student performances in the final exam is a good indication of whether the outcome is satisfactorily achieved. Indeed, on the final exam, 8 students received 70/85 or better. 11 students received 63/85 or better, and the entire class (14 students) received 43/85 or better. In summary, the outcome is achieved (at least) satisfactorily by all the students, and (close to) excellently by most students. |
| CptS451 | Final exam Section D and E (Design) and Section B and C (Build) |
| CptS452 | Students did well in applying knowledge in high-level forms such as finite state machines and context-free grammars. However, some had difficulties converting them into low-level forms. For example, many of parsing tables built by students in midterm questions 6 and 7 are incomplete although they answered correctly to questions asking to build a grammar or a finite state machine. The same tendency is observed in projects. Most of students implemented the front end of the compiler successfully (projects 1, 2, and 3), while failed to complete the back end (projects 4 and 5) which should deal with low-level representations of a program. |
| CptS455 | |
| CptS456 | |
| CptS460 | Students learned to implement a complete operating system. Their first task is to write a booter. Seeing that their own program can boot up a real operating system such as Linux, many students felt a great sense of accomplishment. Then they learned multitasking, process control and process scheduling, which are the kernel functions of an operating system. Their biggest jump is to allow a process to switch between user mode and kernel mode. Then they implemented fork and exec, which allow them to understand how does a system execute programs. The pipe mechanism allows them to have a better understanding of process synchronization. Timer and device driver design allow them to use interrupts and critical regions to avoid race conditions and deadlocks. The last assignment is to implement a user interface for the MTX system, which completes the system design. |
| CptS464 | |
| CptS466 | The laboratory experiments and homework assignments matching this evaluation criterion were performed well by students with an estimated success rate of 95 %. There was always assistance from the teaching assistants and the instructor to ensure successful completion of the labs and homework assignments as a result many of those who sought help were successful. The examination problems measuring this criterion were adequately answered by the students. The Problems of the first exam on this outcome received an average score of 90 %. Problems 2 and 4 of the second examination have an average score of 80 % while the problems from the final exam received an average of 95 %. |
| CptS470 | |
| CptS481 | |
| CptS483 | The design documents for projects 1 and 2 were used to assess this outcome. All students met the expectations for this initial offering of the course. |
| CptS500 | |
| CptS511 | |
| CptS516 | |
| CptS518 | |
| CptS522 | |
| CptS524 | |
| CptS526 | |
| CptS527 | |
| CptS530 | |
| CptS531 | |
| CptS532 | |
| CptS533 | |
| CptS534 | |
| CptS538 | |
| CptS541 | |
| CptS542 | |
| CptS544 | |
| CptS548 | |
| CptS549 | |
| CptS550 | |
| CptS551 | |
| CptS553 | |
| CptS555 | |
| CptS556 | |
| CptS557 | |
| CptS559 | |
| CptS560 | |
| CptS561 | |
| CptS562 | |
| CptS564 | |
| CptS566 | |
| CptS570 | |
| CptS572 | |
| CptS573 | |
| CptS580 | |
| CptS595 | |
| CptS596 | |
| CptS600 | |
| CptS700 | |
| CptS702 | |
| CptS800 |