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

CourseDurationEffortPrerequisites
Databases: Modeling and Theory2 weeks10 hours/weekCore programming
Databases: Relational Databases and SQL2 weeks10 hours/weekCore programming
Databases: Semistructured Data2 weeks10 hours/weekCore programming
Machine Learning11 weeks9 hours/weekBasic coding, math fundamentals
Computer Graphics6 weeks12 hours/weekC++ or Java, linear algebra
Software Engineering: Introduction6 weeks8-10 hours/weekCore programming, prior project experience

Why These Courses?

This sequence introduces you to major application domains of computer science:

  1. Databases - Learn how to model, store, and query data efficiently
  2. Machine Learning - Understand how to create systems that learn from data
  3. Computer Graphics - Explore how to create visual content programmatically
  4. Software Engineering - Study how to build large software systems methodically

Learning Outcomes

After completing the Core Applications sequence, you will be able to:

  1. Design and implement database systems
  2. Write effective SQL queries and understand database optimization
  3. Apply machine learning techniques to solve classification and regression problems
  4. Understand 3D graphics pipelines and rendering techniques
  5. Apply software engineering principles to manage complex projects
  6. 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.