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.
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 iCAN courses meet live online in a synchronous format. Some videos, quizzes and assignments will be available for students to work on asynchronously. Live zoom meetings will also be used to meet for hands-on activities and discussions of seminal 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.
iCAN Team
Tiffani Williams
Teaching Professor, Associate Head of BPC,
and iCAN Director
Yael Gertner
Teaching Assistant Professor
iCAN Program Coordinator &
Academic Advisor
Email: ican@siebelschool.illinois.edu