iCAN Curriculum
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.
ACCELERATED COMPUTING FUNDAMENTALS
iCAN students work with Siebel School faculty, graduate students, and fellow iCAN classmates in an interactive classroom environment.
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 collaborative educational environment where students interact with one another, learning from each other’s unique educational backgrounds.
ACCESS TO WORLD-CLASS RESOURCES
As part of the University of Illinois system and a student in the Siebel School of Computing and Data Science with a Top-5 Graduate program, iCAN students have opportunities to engage with top computing researchers and industry professionals. iCAN students in the on-campus program also have access to campus resources such as the Illinois Library system and Engineering Career Services.
Meet the Professors
Dr. Williams serves as Teaching Professor, Associate Head of BPC,
and iCAN Director in the Siebel School of Computing and Data Science. She serves as the instructor for the Accelerated Fundamentals of Computing I and II iCAN courses.
"iCAN is an innovative program offered by a top-five computer science program that will empower non-CS college graduates to obtain a Computing Fundamentals Certificate. Someone who enjoys solving problems, creating innovative solutions, and who is looking for a pathway to a satisfying tech career in industry or research would be a great candidate."
Meet the Professors
Dr. Gertner joined the Siebel School for Computing and Data Science 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
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.
iCAN Courses
Semester 1 (7 Credits)
Click on each course to learn more about topics that will be covered.
1) CS 400: Accelerated Fundamentals of Computing I (3 credits).
- 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
2) CS 401: Accelerated Fundamentals of Algorithms I (3 credits).
- 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
3) CS 491: Excursions in Computing I (1 credit).
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)
1) CS 402: Accelerated Fundamentals of Computing II (3 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
2) CS 403: Accelerated Fundamentals of Algorithms II (3 credits).
- 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
3) CS 491: Excursions in Computing II (1 credit).
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)
1) CS 597: Individual Study (3-4 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.
2) Elective (400-level) (3-4 credits).
- 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
Current Class Format
The program will meet entirely online and will consist of both asynchronous activities as well as in-person scheduled zoom meetings. Some videos, quizzes and assignments will be available for students to work on asynchronously. Additionally, an important component of the program will consist of in-person scheduled zoom meetings in which students can interact with faculty and other students to work on problem solving techniques, see demonstrations of course material on which they can ask questions, and work on presenting solutions and working in teams with other students. Live zoom meetings will also be used to meet for hands-on activities and discussions of historic as well as cutting edge papers to broaden understanding of computing.
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.