Learn the basics of in-demand skills like programming, information technology, software engineering, systems architecture and management, and networking.

Explore the basic concepts, nomenclature, and historical perspective of computers and computing, and principles of software development and Object-Oriented Programming.

Continuing Education Units: 5.2

Explore this detailed survey of computing and programming, with an emphasis on understanding object-orientation and the Java and C++ computer programming languages. We will use history, theory, and practice to deliver lessons that prepare you for a career in computer science.

Continuing Education Units: 5.1

Learn fundamental programming concepts using the Python 3 programming language, a high-level interpreted language that is easy to read write, with powerful libraries that provide additional functionality.

Continuing Education Units: 3.6

Learn the C++ computer programming language, with a focus on syntax for primitive types, control structures, vectors, strings, structs, classes, functions, file I/O, exceptions, and other programming constructs.

Continuing Education Units: 4.0

Learn the components of Bitcoin and how they work together to keep Bitcoin's open, decentralized system running. This course will build the foundation you need to use and work with Bitcoin and other cryptocurrencies.

Continuing Education Units: 1.8

Survey basic abstract data types, their associated algorithms, and how they are implemented. Topics discussed include the structures of stacks, queues, lists, sorting and selection, searching, graphs, and hashing; performance tradeoffs of different implementations; and asymptotic analysis of running time and memory usage.

Continuing Education Units: 3.8

Learn discrete mathematics in a way that combines theory with practicality. Major topics include single-membership sets, mathematical logic, induction, proofs, counting theory, probability, recursion, graphs, trees, and finite-state machines.

Continuing Education Units: 4.4

Get a broad, foundational introduction to the rapidly evolving field of artificial intelligence by learning how to build intelligent software solutions in today's business applications.

Continuing Education Units: 4.8

Learn and master machine learning (ML) concepts, algorithms, and real-world applications while gaining hands-on experience building and evaluating ML models with Python.

Course Introduction:

This comprehensive course is designed to equip you with a strong foundation in machine learning (ML) through a systematic, step-by-step approach. This course covers the essential principles of supervised and unsupervised learning algorithms, providing a deep understanding of how machine learning models work and how they can be applied in real-world scenarios. You will explore the entire ML workflow, from data collection and preprocessing to model building and evaluation, ensuring you gain practical, hands-on experience at each stage.

Throughout the course, you will master key concepts in data preprocessing, feature engineering, and model evaluation techniques. We will cover a range of core algorithms, including regression, classification, and clustering, as well as evaluation metrics to help you assess model performance and make data-driven decisions. Practical exercises and Python-based implementations will reinforce your understanding and allow you to build predictive models. By the end of the course, you will be equipped to handle complete machine learning projects, from data preparation to evaluation, while ensuring your models are both effective and ethical.

In addition to the technical skills, this course emphasizes the importance of ethical decision-making in AI development. You will explore critical issues like bias, fairness, and accountability in machine learning, learning how to build models that are not only accurate but also responsible and equitable. Whether you want to enhance your career, pursue further studies, or contribute to the growing field of AI, CS207 provides you with the knowledge and skills necessary to create impactful and ethical machine learning systems.

Course Units:
  • Unit 1: Introduction to Machine Learning
  • Unit 2: Machine Learning Workflow
  • Unit 3: Data Preprocessing
  • Unit 4: Data Visualization
  • Unit 5: Supervised Learning – Regression
  • Unit 6: Supervised Learning – Logistic Regression
  • Unit 7: Unsupervised Learning – Clustering
  • Unit 8: Model Evaluation and Validation
  • Unit 9: Practical Implementation of ML Models
  • Unit 10: Ethical and Responsible AI
Course Learning Objectives:
  • Explain machine learning concepts, including supervised and unsupervised learning; 
  • Explain the ML workflow, including data collection, preprocessing, modeling, and evaluation; 
  • Apply data processing and visualization techniques to prepare data sets, interpret data, and perform feature extraction; 
  • Implement machine learning models, including regression, classification, and clustering; 
  • Identify overfitting, underfitting, and other challenges in machine learning models; 
  • Build end-to-end machine learning projects that include documented workflows and are reproducible; 
  • Explain the performance of machine learning models using basic metrics; Analyze ethical considerations in machine learning.
Continuing Education Units: 1.9

Learn data science using the Python programming language by looking at data processing, data analysis, visualization, data mining, and statistical models. By the end of this course, you will be able to implement Python code for these data science topics.

Continuing Education Units: 6.7

Learn basic concepts in applied cryptography and see how they are implemented in real-world programs.

Continuing Education Units: 5.0

Explore hardware/software components, assembly language, and the functional architecture and design of computers, with a focus on topics like instruction sets, processor arithmetic and control, Von Neumann architecture, pipelining, memory management, storage, and input/output.

Continuing Education Units: 4.8

Learn how to apply an engineering approach to computer software development by focusing on software principles, lifecycle models, requirements and specifications, architecture and conceptual model design, detailed design, implementation, validation and verification, quality assurance, configuration control, project management, tools, and environments.

Continuing Education Units: 3.6

Examine how operating systems and design have evolved as changes in hardware and software led to contemporary operating systems. Topics include basic OS concepts, methods of OS design and construction, process coordination, management, and algorithms for CPU scheduling, memory, and general resource allocation.

Continuing Education Units: 12.0

Explore the hardware, software, and architectural components involved in computer communications in local area networks by reviewing the basics of computer networks, switching, routing, protocols, and security.

Continuing Education Units: 3.8

Learn about database architecture and implementation by exploring Structured Query Language (SQL), including topics like file structures and access methods; database modeling, design, and user interface; the components of database management systems; and information storage and retrieval.

Continuing Education Units: 4.2

Learn the principles of information security to protect the confidentiality, integrity, and availability of information. Discuss the modes of threats and attacks on information systems, threat mitigation, cryptography, user identification and authentication, access control, privacy laws, and more.

Continuing Education Units: 4.6