This course presents an introduction to computer programming intended both for those who plan to take further courses in which a strong background in computation is desirable and for those who are interested in learning basic programming principles. The course will expose the student to a variety of applications where an algorithmic approach is natural and will include both numerical and non-numerical computation. The principles of program structure and style will be emphasized. May be paired with COMP 218 or either may be paired with any mathematics or statistics course to satisfy the natural science diversification requirement. No prerequisite. Offered every semester.
This course is intended as a second course in programming, as well as an introduction to the concept of computational complexity and the major abstract data structures (such as dynamic arrays, stacks, queues, link lists, graphs and trees), their implementation and application, and the role they play in the design of efficient algorithms. Students will be required to write a number of programs using a high-level language. May be paired with COMP 118 or either may be paired with any mathematics or statistics course to satisfy the natural science diversification requirement. Prerequisite: COMP 118, MATH 138 or PHYS 270 or permission of instructor. Offered every other spring.
This course gives students experience designing, implementing, testing and debugging moderately complex systems of software components that collectively form a multilayer application. There will be an emphasis on crafting quality code, designing and implementing effective user interfaces, and building multicomponent architectures using a mix of off-the-self and custom code. Topics will include inner process and inter-system communication, multi-threading, and the synchronization of shared resources, web interfaces and working with large data sets. Students will primarily use C++, but also will learn Javascript and other languages as needed. This interdisciplinary course does not count toward the completion of any diversification requirement. COMP 218 is recommended but not required. Prerequisite: MATH 138, COMP 118 or PHYS 270 or permission of instructor.
A study of a software design project that requires planning, analysis, design, implementation, testing and maintenance. Different methods of planning, definition, requirements analysis and cost estimation are considered. A central component of the course is a semester-long team project that engages a team of three to five students in the analysis, design, implementation and documentation of a significant applied project. The goal of this team project is for the students to engage with the material as they work to solve a real-world problem. These projects are real needs of organizations in the surrounding community (including Gambier, Knox County and, at times, beyond). This course does not count toward any elective requirement for the math major. Prerequisite: MATH 138, COMP 118, 218 or 318.
This capstone course is intended to provide an in-depth experience in computational approaches to an individual topic of choice. Students will also be exposed to a broad range of computational application through presentations and discussion. Each student will give several presentation to the class throughout the semester. Permission of the instructor and program director required. This interdisciplinary course does not count toward the completion of any diversification requirement. Prerequisite: COMP 118 or PHYS 270, senior standing, completion of at least 0.5 units of an intermediate course and at least 0.5 units of a contributory course.