2022-23 Undergraduate Academic Catalog

EDUC-4950 12 hours Student Teaching and Seminar in Special Education and Primary (P–5) –Fa, Sp A full semester teaching experience with significant exposure in both special education and primary (P–5) education settings. The student teacher will work under the supervision of cooperating teachers and University supervisors in each field. Seminars encourage reflection upon the teaching experience and discussion of issues of importance to educators. This course requires a current Ohio BCI and FBI Background Clearance Report to be on file with the School of Education for the duration of the field experience. (Fee: $380) School of Engineering and Computer Science Course Descriptions Computer Science (CS) CS-1210 C++ Programming –Fa, Sp 2 hours Introduction to computer programming, software engineering principles, structured program design and implementation, using the C++ programming language; students will become familiar with common commands for managing the file system and constructing programs in the Linux operating system. Two lecture hours and one one-hour laboratory per week. (Fee: $50) CS-1220 Object-Oriented Design Using C++ –Fa, Sp 3 hours Further development of student problem solving and programming skills beyond CS-1210 by increased exposure to the C++ language features including pointers, object-oriented language contructs and design principles, memory management mechanisms, exception handling, event-driven programming, and graphical user interfaces (GUI). This course also promotes professional programming practices with emphasis on the careful reading and documenting programs to support the understanding and analysis of source code, program testing and debugging, secure softrware engineering practices, and following established language styles and converntions. Readings and lectures are reinforced with programming demonstrations, exercises, and assignments in both the Linus and Windows environments. Prerequisite: CS-1210 C++ Programming. (Fee: $50) CS-2210 Data Structures Using Java –Fa, Sp 3 hours Introduction to the proper use of data structures for developing efficient software; data structures include stacks, queues, priority queues, hash tables, trees, and graphs. Students will develop skill in object-oriented design and the Java programming language. Design project required. Prerequisite: CS- 1220 Object-Oriented Design Using C++. (Fee: $50) CS-3210 Programming Language Survey –Fa 3 hours Systematic study of the principles, concepts, and mechanisms of computer programming languages: their syntax, semantics, and pragmatics; the processing and interpretation of computer programs; programming paradigms; and language design. Illustrative examples will be selected and programming exercises will be assigned from a variety of programming languge paradigms. Prerequisite: CS-1220 Object Oriented Design Using C++. (Fee: $50) CS-3220 Web Applications –Sp 3 hours Introduction to the design and implementation of web-based applications. Technologies such as HTML5, CSS3, Javascript, JQuery, PHP, Java Servlets, XML, and MySQL are explored. Multiple design projects required. Prerequisite: CS-2210 Data Structures Using Java. (Fee: $50) CS-3310 Operating Systems –Fa, Sp 3 hours A state-of-the-art survey of operating system principles. Covers fundamental technology and contemporary design issues such as threads, real-time systems, multiprocessor scheduling, distributed systems, and security. Course content is developed through lectures, student research of the relevant literature, presentations, and programming projects using both C++ and Java. Prerequisite: CS-1220 Object-Oriented Design Using C++. (Fee: $50) CS-3350 Foundations of Computer Security –Fa 3 hours Introduction to computer security, including basic concepts, security policy, access control, authentication and key control, and cryptography. Students will complete several programming assignments. Prerequisites: CS-1220 Object-Oriented Design Using C++. (Fee: $50). CS-3410 Algorithms –Fa 3 hours Introduction to classical algorithms that have broad application in solving computer science problems; topics include analysis of algorithms, advanced data structures, graph algorithms, numerical methods, and NP-completeness. Prerequisite: CS-2210 Data Structures Using Java; MATH-2520 Discrete Math and Probability Principles for Computer Science; or instructor approval. (Fee: $50) CS-3510 Compiler Theory and Practice –Sp 3 hours Introduction to the foundational technology of modern compilers, with emphasis on underlying theory and practical techniques for implementing a compiler by applying object- oriented and appropriate data structures. Design project typically developing a compiler is required. Prerequisite: CS-3410 Algorithms. (Fee: $50) CS-3610 Database Organization and Design –Sp 3 hours Introduction to the analysis, design, and implementation of relational databases and the Structured Query Language (SQL); topics include data modeling techniques, data model to logical schema conversion techniques, relational algebra, SQL, database file organizations, query evaluation, transaction management, and client-server application architectures. Design project required. Prerequisites: CS-2210 Data Structures Using Java. Corequisite: MATH-2520 Discrete Math and Probability Principles for Computer Science. (Fee: $50) CS-3920 Computer Science Internship –Fa, Sp 1–3 hours An opportunity for a computer science student to work closely with an industrial advisor. Specific attention is given to solving a particular problem(s) in the industry or firm. A faculty advisor assists in supervising and approving the internship, including assessing the number of credit hours. A final report (approximately seven pages per credit hour) describing the experience, including the problem and solution, is required. Must be arranged with a faculty sponsor and work supervisor before starting. No more than one hour of CS-3920 can be used to fulfill program technical elective requirements. Prerequisites: junior or senior computer science major status; faculty advisor permission. CS-3950 Topics in Computer Science –Fa, Sp, Su 1–3 hours Selected topics in computer science at the 3000-level that will complement or extend existing 2000- and 3000-level courses or expose students to topics not taught in other courses. Topics may be proposed by the computer science faculty or students. Prerequisite: permission of instructor. CS-3980 1–3 hours Independent Study in Computer Science –Fa, Sp, Su Opportunity to perform independent study or research in computer science and allied fields of application. A formal proposal for study must be approved by the faculty advisor before registering for this course. Prerequisites: junior or senior computer science or engineering major status, and permission of instructor. 2022–23 Undergraduate Academic Catalog Page 261 Course Descriptions EDUC-4950 – CS-3980 ENGINEERING AND COMPUTER SCIENCE