The following pages are for classes I’ve taught at Tusculum University.
Intro to Computer Science and Problem Solving
This course provides a survey of computing and computer science, and the steps involved in algorithm design. The history of computing and the elements of computer science are presented as well as methodologies for solving problems.
Data Structures and Algorithms
This course is a continuation of CISC 110. At this level, students write programs that deal with interactive processing, manipulation of arrays, files, linked lists, queues and stacks.
Introduction to Algorithms
This course provides an introduction to mathematical modeling of computational problems. It also introduces the analysis of algorithms using big O notation. Topics include date structures, files, trees, sorting, searching, encryption and NP completeness. Algorithms will be expressed and evaluated by creating programs.
Introduction to Computer Programming
Students apply a structured, multi-phase program development process that features a series of steps involving understanding of a problem, formal problem definition, graphic design methodologies and program specification through pseudocoding.
Java and Object Oriented Programming
This course will focus on providing an introductory level of understanding to students on how to use the Java Programming language. Students will learn Java control structures, built in data types, basic IO, and start to learn how to use object-oriented programming. Prerequisite: CISC 110.
Mobile Application Development
This course will teach students to develop applications for mobile platforms. Topics include programming language choices, design and usability issues, security concerns and good programming practices. This is project-based course in which students from diverse majors may choose a design or programming track.
Operating Systems
The student will learn the fundamental concepts behind the design of an operating system. Several operating systems will be discussed in terms of process management, memory management, CPU scheduling and resource management.
Senior Project
This is a capstone course. Emphasis is on development of a computer application through use of the life cycle methodology. Students will develop and implement a complete project from specification to implementation. As part of the specification process, students will need to address the global interconnectedness of computer applications. They will need to consider the possible global common good of their project. As part of this process, students will need to address issues such as privacy and security. The specification will be a formal written document that must include diverse sources. Students will prepare a cover letter and a résumé or curriculum vitae for review by the instructor.
Software Engineering
This course is an introduction to the practice of developing effective software. Topics will include requirements gathering, project life-cycles, project management techniques, software design, testing and personnel management practices. A case-study will be followed by which students can choose a business management or programmer role.
System Administration
This course provides a survey of computing and computer science, and the steps involved in algorithm design. The history of computing and the elements of computer science are presented as well as methodologies for solving problems.
Note: No longer being taught
Web Design
This course will include the basics of web page design including design principles and techniques as well as learning basic structures and languages of web pages. Content will include HTML/XHTML static page design, Cascading Style Sheets and JavaScript. Emphasis will be placed on client-side technologies and static web design. Case studies in E-commerce and other web-related successes and failures will be a part of this class.