Course Description
This course continues where CMPS 162 and CMPS 260 leave off. The focus will be on problem solving but with a much higher difficulty level. The students will be required to write programs that involve multiple units of organization, e.g., classes. Several advanced algorithms will be discussed and should be implemented by the students.
Credits: 3, prerequisites: CMPS 260.
Course Preview
Coming soon.
Course Syllabus
Course Modules
Module 1: Versioning through Git and GitHub (Project 1a)
Module 2: HTML and CSS (Project 1b)
Module 3: jQuery (Project 1c)
Module 4: Working with Multiple People: Slack and GitHub (Project 2a)
Module 5: Dividing Work through Modules (Project 2b)
Module 6: APIs (Project 2c)
Module 7: The Software Development Process (Project 2d)
Module 8: Software Architecture and Design (Project 3a)
Module 9: Other jQuery Libraries (Project 3b)
Module 10: Other Libraries (Project 3c)
Module 11: Testing (Project 3d)
Module 12: Documentation (Project 3e)
Module 13: TBD (Project 3f)
Module 14: TBD (Project 3g)
Module 15: Final Report and Presentation
Course Objectives
- Apply all knowledge from CMPS 162 and CMPS 260 to solve real problems.
- Learn fundamental algorithms like sorting.
- Solve problems using recursion.
- Decompose complex problems to find solutions.
- Construct complex user interfaces for running algorithms that solve problems.
Course Topics
- Advanced problem solving
- Recursion
- Search algorithms
- Sorting algorithms
- User interfaces