2024, Fall @ SFSU

CSC 656 – Computer Organization (senior level). Instruction set design. Pipelined datapath and control. Cache and memory system design. Input and output subsystems. Parallel processing. Software and hardware interactions. Tu/Th, 14:00-15:15, BH 1 (in person).

CSC 746 – High Performance Computing (graduate level). Principles and current practices in high-performance computing. Basics of multiprocessor systems such as clusters and graphics processors. Message-passing and shared memory-based software development. Tu/Th, 15:30-16:45, TH 425 (in person).


2024, Spring @ SFSU

CSC 656 – Computer Organization (senior level). Instruction set design. Pipelined datapath and control. Cache and memory system design. Input and output subsystems. Parallel processing. Software and hardware interactions. Tu/Th, 11:00-12:15, HUM 109 (in person).

CSC 647/747 – Introduction to Quantum Computing and Quantum Information Science (senior and graduate level paired course). Introduction to quantum computing and quantum information science. Comparison of classical and quantum computing architectures and organization. Quantum algorithm design and implementation on circuit-based and annealing quantum platforms. Program execution and performance analysis on quantum platform simulators and actual quantum hardware, subject to availability. Survey of research topics in quantum computing ranging from algorithms (e.g., Grover’s Search) and their application to problems in quantum cryptography, quantum machine learning, and hybrid classical/quantum algorithms. Tu-Th HSS 246 (in person). Taught jointly with Prof. Dan Huang (CS@SFSU).


2023, Fall @ SFSU

CSC 656 – Computer Organization (senior level). Instruction set design. Pipelined datapath and control. Cache and memory system design. Input and output subsystems. Parallel processing. Software and hardware interactions. Tu/Th, 11:00-12:15, TH 326 (in person).

CSC 746 – High Performance Computing (graduate level). Principles and current practices in high-performance computing. Basics of multiprocessor systems such as clusters and graphics processors. Message-passing and shared memory-based software development. Tu/Th, 12:30-13:45, HH 301 (in person).


2023, Spring @ SFSU

CSC 656 – Computer Organization (senior level). Instruction set design. Pipelined datapath and control. Cache and memory system design. Input and output subsystems. Parallel processing. Software and hardware interactions. Tu/Th, 11:00-12:15, Burk Hall 263 (in person).

CSC 890 – Quantum Computing and Quantum Information Science (graduate level). Quantum computing (QC) is a rapidly emerging technology that harnesses the laws of quantum mechanics to solve problems too complex for classical computers. This course begins with fundamentals, which includes the mathematics of describing quantum states and operations, along with a survey of the history of QC that includes both hardware and software. Building on those fundamentals, students will gain experience writing circuit-based programs for quantum devices and run them on quantum simulators and, subject to availability and access, on actual quantum hardware. Finally, the course will expose students to current research topics in QC, ranging from quantum cryptography, quantum machine learning, and hybrid classical/quantum algorithms. Tu/Th, 12:30-13:45, HSS 102 (in person). Taught jointly with Prof. Dan Huang (CS@SFSU)


2022, Fall @ SFSU

CSC 656 – Computer Organization (senior level). Instruction set design. Pipelined datapath and control. Cache and memory system design. Input and output subsystems. Parallel processing. Software and hardware interactions. Tu/Th, 11:00-12:15 (in person).

CSC 746 – High Performance Computing (graduate level). Principles and current practices in high-performance computing. Basics of multiprocessor systems such as clusters and graphics processors. Message-passing and shared memory-based software development. Tu/Th, 12:30-13:45 (in person).


2022, Spring @ SFSU

CSC 309 – Computer Programming (junior level). Procedural programming with Python for scientific applications. Good programming practices and basic numerical and nonnumerical algorithms for scientists and engineers. M/W, 17:00-18:15 (via zoom, online synchronous)


2021, Fall @ SFSU

CSC 746 – High Performance Computing (graduate level). Principles and current practices in high-performance computing. Basics of multiprocessor systems such as clusters and graphics processors. Message-passing and shared memory-based software development. M/W, 15:30-16:45 (via zoom, online synchronous)


2021, Spring @ SFSU

CSC 309 – Computer Programming (junior level). Procedural programming with Python for scientific applications. Good programming practices and basic numerical and nonnumerical algorithms for scientists and engineers. M/W, 17:00-18:15 (via zoom, online synchronous)