skip to main content

iCAN: An Innovative Computing Onramp

The iCAN curriculum is especially designed for students from non-computing backgrounds and helps students advance in their careers, move into graduate programs in a computing field or get a job in fast-growing, in-demand tech careers such as software engineer, database manager, web developer, or information security analyst. Affordable tuition and fees paired with an accelerated three-semester timeline fast-tracks students towards their career and academic goals. 

iCAN students work with Illinois CS faculty, graduate students, and fellow iCAN classmates in an interactive classroom environment of.

In the third semester, iCAN students can select capstone projects and elective courses that reflect their unique goals and interests.

The iCAN faculty fosters a colleborative educational environment where students interact with one another, learning from each other’s unique educational backgrounds. 

As part of the University of Illinois system and a student in the Department of Computer Science with a Top-5 Graduate program, iCAN students have access to important resources such as the extensive Illinois Library system, Engineering Career Services, and opportunities to engage with top computing researchers and industry professionals.

Yael Gertner

Meet the Professors

Dr. Yael Gertner

Dr. Gertner joined the Illinois CS faculty in the summer of 2020. She serves as Teaching Assistant Professor and teaches the Accelerated Fundamentals of Algorithms I and II iCAN classes.

“Our goal for the iCAN program is to prepare and empower our students so that they can succeed in computer science.  We designed the curriculum so that the coursework delves into the fundamentals of computer science and provides a solid footing in the field. At the same time, we prioritize a mentoring environment and individualized attention.”

iCAN Curriculum Overview

Completion of the iCAN program results in the Computing Fundamentals Certificate, which is completed in one year (fall, spring, summer) and consists of 20 credit hours. 

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.

iCAN Courses

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

  • 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

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 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 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.