Core Applications
This section focuses on practical applications of computer science in key areas: databases, machine learning, computer graphics, and software engineering. These courses teach you how to apply theoretical knowledge to solve real-world problems.
Topics Covered
- Agile methodology
- REST
- Software specifications
- Refactoring
- Relational databases
- Transaction processing
- Data modeling
- Neural networks
- Supervised learning
- Unsupervised learning
- OpenGL
- Ray tracing
- And more
Course Sequence
| Course | Duration | Effort | Prerequisites |
|---|---|---|---|
| Databases: Modeling and Theory | 2 weeks | 10 hours/week | Core programming |
| Databases: Relational Databases and SQL | 2 weeks | 10 hours/week | Core programming |
| Databases: Semistructured Data | 2 weeks | 10 hours/week | Core programming |
| Machine Learning | 11 weeks | 9 hours/week | Basic coding, math fundamentals |
| Computer Graphics | 6 weeks | 12 hours/week | C++ or Java, linear algebra |
| Software Engineering: Introduction | 6 weeks | 8-10 hours/week | Core programming, prior project experience |
Why These Courses?
This sequence introduces you to major application domains of computer science:
- Databases - Learn how to model, store, and query data efficiently
- Machine Learning - Understand how to create systems that learn from data
- Computer Graphics - Explore how to create visual content programmatically
- Software Engineering - Study how to build large software systems methodically
Learning Outcomes
After completing the Core Applications sequence, you will be able to:
- Design and implement database systems
- Write effective SQL queries and understand database optimization
- Apply machine learning techniques to solve classification and regression problems
- Understand 3D graphics pipelines and rendering techniques
- Apply software engineering principles to manage complex projects
- Bridge the gap between theory and practical implementation
Importance for Computer Science
These application areas represent some of the most exciting and in-demand domains in computer science:
- Databases are fundamental to nearly all software systems
- Machine Learning powers everything from recommendation systems to autonomous vehicles
- Computer Graphics enables visualization, gaming, and simulation
- Software Engineering provides the methodology for building large-scale systems
The skills from this section will enable you to work on diverse applications across many industries, giving you the versatility to adapt to changing technology landscapes.