2017 SPIS Academic Program

The academic program focuses on the foundations of computer science and engineering, (in short, FoCS, Foundations of Computer Science) where students will

  • learn basic concepts such as abstraction, computation, algorithm, programming, interaction with the physical world,
  • gain competency in mathematical reasoning, algorithm design, programming, and hardware skills,
  • apply the concepts and skills to solve problems in domains such as image processing, computer vision, cryptography, data mining, and
  • bring together all the ideas to succeed in an open-ended project.

In addition, students will participate in the Facets of Computer Science and Engineering seminar, where they will be exposed to the larger world of computing and learn the tools and techniques needed to make a smooth transition to UC San Diego.

SPIS 2017 faculty include Paul Cao, Gary Gillespie, Curt Schurgers, Ben Cosman and Mohan Paturi.

FoCS: Foundations of Computer Science

This course is an exciting introduction to the field of computer science and engineering which gives students a head start on the knowledge and skills they will need to succeed in UCSD's introductory computing courses (CSE8A or CSE11), discrete math courses (CSE20 and CSE21), and calculus sequence (MATH20).

The course will cover basic computer science skills like algorithm development and programming, with an emphasis on logical thinking and debugging skills. Students will implement programs in Python (a high-level language) and may work with the Raspberry Pi. Throughout, we will emphasize the connections between low-level hardware, programming, and abstract algorithms as tools for solving problems. Students will work on projects extending these ideas in areas such as graphics, robotics, machine learning, and cryptography.

Primary Instructors: Paul Cao, Gary Gillespie, and Curt Schurgers

APS: Algorithmic Problem Solving

Though programming is the most visible aspect of how Computer Science is applied, the basis of Computer Science is a way of thinking about problems and solving them algorithmically before one starts implementing them as programs. Several lectures  will be devoted to algorithmic problem solving (APS), where students will think about problems and algorithms and write the solutions precisely and coherently in plain English. The types of problems encountered in APS are similar to the ones often presented to prospective employees at job interviews for companies such as Qualcomm, Google, Microsoft, Facebook, as well as start-up companies.

Primary Instructor: Ben Cosman

Facets: Facets of Computer Science and Engineering

Facets is a series of interactive lectures where students will
  • explore exciting ideas in computer science and engineering,
  • learn about opportunities in industry,
  • interact with departmental and college advisors for course planning, and
  • gain the knowledge about various resources at UC San Diego.

The lectures will be presented by UC San Diego faculty, alumni, college/departmental advisors, and industry professionals.

Organizer: Mohan Paturi


Students will be receive a copy of the book, Introduction to Computation and Programming Using Python (by John Guttag) and and iClicker on Welcome Day (August 2, 2015) when they arrive on campus.

    Daily Schedule

    Embed gadget

    Notes to students regarding daily schedule

    • Assessments: There will be "checkpoints" each Wednesday at 2:45pm that function like "due dates". Each Wednesday, we'll invite you to turn it what you have completed by that time, and then give you some individual feedback on your progress. In weeks three through five of the program, you'll also work have the opportunity to work on a challenging project where you can apply what you've learned to create something interesting and useful.
    • FoCS Depth / FoCS Breadth: These parallel Friday sessions offer an opportunity for you to make a choice. If there are aspects of the FoCS program from Monday-Thursday of that week that are still a bit hazy, and you'd like some review, the FOCS Depth sessions will recap what you learned that week, and go a bit deeper. If you feel pretty confident about what you've learned, the FoCS Breadth sessions provide an opportunity to learn about something new and different.
    • Open lab time: These sessions are led primarily by the undergraduate student mentors, and are a chance to work on the lab assignments given during FoCS sessions, or to step away from the computer and work on the APS problems.
    • Extra Mentor Hours: These optional mentor-led sessions provide additional time to work on your FoCS lab assignments, APS problems, and final projects. 
    • Writing: On Friday afternoons: writing tutors are available to assist you with the writing aspects of your APS solutions. Note that the writing tutors are not computer scientists, so their role is not to help you with coming up with a solution to the problem. Rather, their role is to help you, once you have solved the problem, to express your solution in english text that is so clear and well written, than evan a non-computer scientist can understand both the problem and your solution.
    • Faculty Meetings: On Friday afternoons, there are individual meetings scheduled with faculty. You'll work in the lab on your FoCS and APS assignments until your name is called, and then you'll come to your meeting. After your meeting, you may return to the lab to continue working, or if you are finished with your work for the week, you are free to go explore the UCSD campus.