iCAN Curriculum

iCAN is a one year (fall, spring, summer) program consisting of 20 credit hours. Students who complete the program earn a Graduate Certificate in Computing Fundamentals.

The first two semesters consist of core computer science courses in programming, data structures, and algorithms. The curriculum also incorporates an innovative excursions component that provides students with breadth in the field through reading ground-breaking research papers, doing hands-on activities with core computing tools, and gaining exposure to different programming languages and paradigms. 

The final semester consists of students working on an industry or research project to leverage what they have learned in previous semesters, and they take a 400-level course from our extensive CS course catalog, which includes courses in data mining, machine learning, artificial intelligence, databases systems, etc.

Semester 1 (7 Credits)

Click on each course to learn more about topics that will be covered.

  • Basics of programming 
  • Debugging and testing
  • Recursion
  • Program efficiency, searching and sorting algorithms
  • Intro to object-oriented design
  • Stacks and queues
  • Data exploration and visualization
  • Read, review, analyze, and present research papers

Additional Information: https://siebelschool.illinois.edu/academics/courses/CS400-120248

  • Counting, sets, and functions
  • Recursion
  • Trees and Graphs
  • Basic graph algorithms
  • Stack, queue, priority queues, heaps
  • Big-O running time 
  • Polynomial time, reductions, NP 
  • Read, review, analyze, and present research papers

Additional Information: https://siebelschool.illinois.edu/academics/courses/CS401-120248

Connects the core fundamental concepts of the programming (practice) and math (theory) to the broader areas of computer science.

  • Excursions in computing will consist of two types of activities.
    • Reading computing papers. To broaden their knowledge in the field, students will read and discuss relevant computing papers in areas such as machine learning, data analytics, security, computational biology, ethics and bias. Moreover, they will also be introduced to classic historical papers in CS. The papers will also help students see that the core CS topics that they are learning are used in real-world problems.
    • Hands-on activities. Students will be provided training on some of the nuts and bolts of everyday computing such as learning the Linux terminal, how to use regular expressions, etc.
  • In addition to the above, the excursions in computing is also designed to teach students how to engage in lifelong learning, which is an essential skill in computing.

Additional Information: https://siebelschool.illinois.edu/academics/courses/CS491ECO-120248

Semester 2 (7 Credits)

  • Basics of object-oriented programming
  • Exception handling and testing
  • Type hierarchy
  • Design patterns
  • Hierarchical structures
  • Memory model
  • Event driven, concurrent, and database programming
  • Read, review, analyze, and present research papers

  • Logic and proofs 
  • Induction
  • Number theoretic algorithms
  • Divide and Conquer
  • Greedy algorithms
  • Dynamic programming
  • Introduction to models of computation, Undecidability
  • Read, review, analyze, and present research papers

Connects the core fundamental concepts of the programming (practice) and math (theory) to the broader areas of computer science.

  • Excursions in computing will consist of two types of activities.
    • Reading computing papers. To broaden their knowledge in the field, students will read and discuss relevant computing papers in areas such as machine learning, data analytics, security, computational biology, ethics and bias. Moreover, they will also be introduced to classic historical papers in CS. The papers will also help students see that the core CS topics that they are learning are used in real-world problems.
    • Hands-on activities. Students will be provided training on some of the nuts and bolts of everyday computing such as learning the Linux terminal, how to use regular expressions, etc.
  • In addition to the above, the excursions in computing is also designed to teach students how to engage in lifelong learning, which is an essential skill in computing.

Semester 3 (6-8 Credits)

  • The capstone experience is an opportunity for students to integrate and synthesize the computing concepts they have learned.
  • Software projects.
    • Students can work individually or in a group. 
    • The iCAN program will seek partnerships with organizations (and faculty members) for software project proposals. These industry and academic partnerships could also serve as mentors for the projects.
  • Research projects.
    • Students can seek out research opportunities with faculty.
    • The iCAN program will seek faculty who are interested in having iCAN students joining their research team for a short-term (summer) project.

  • iCAN students will be prepared to take a number of 400-level CS courses. 
  • Gives iCAN students a chance to connect and be in the same classroom as “traditional” students. 
  • iCAN students can then see that they are prepared to be successful in the field.
  • Gives CS professors an opportunity to interact with iCAN students.
  • Potential 400-level courses for iCAN students to choose as an elective:
    • CS 466: Introduction to Bioinformatics
    • CS 410: Text Information Systems
    • CS 427: Software Engineering
    • CS 465: Principles of User Interface Design

The iCAN Student Support Network

An individualized, cohort-style learning environment is crucial to the unique learning atmosphere of the iCAN program. Throughout their time in the iCAN program, students will have access to a support network that will help guide them through successful completion of the program. Faculty provide hands-on instruction in class and through flexible office hours. The iCAN program coordinator will also serve as an academic advisor for the student, providing important information each student needs to successfully navigate their way through iCAN. iCAN teaching assistants also provide in-class mentorship and office hours for students.

Perhaps the most valuable network iCAN students gain is the network of fellow students in their program cohort. With small classes that utilize small-group instructional models, iCAN students work together as they explore the computing fundamental curriculum. Most exciting is the fact that iCAN students work alongside fellow students who bring their own unique backgrounds and perspectives to the computing curriculum, resulting in a high-energy, collaborative learning environment where students explore new computing pathways together.

iCAN Team

Teaching Professor and Director of Onramp Programs Tiffani Williams
Tiffani Williams
Teaching Professor, Associate Head of BPC,
and iCAN Director

Yael Gertner
Yael Gertner
Teaching Assistant Professor



iCAN Program Coordinator &
Academic Advisor 
Email: ican@siebelschool.illinois.edu