NOTE: The prerequisites are linked to the student's year of catalog. We try to keep the prerequisites indicated according to the most recent course catalog.
- MC001 - Information Technologies
- MC009 - Computing and Society
- MC011 - Compiler Laboratory
- MC018 - Supervised Internship
- MC019 - Supervised Internship in Computer Science
- MC020 - Supervised Internship in Computer Science II
- MC030 - Final Graduation Project
- MC032 - Directed Study
- MC033 - Directed Study II
- MC038 - Introduction to Scientific Writing
- MC039 - Seminars on Computing and Technology
- MC040 - Scientific Initiation Internship I
- MC041 - Scientific Initiation Stage II
- MC050 - Monitoring
- MC051 - Monitoring II
- MC102 - Computer Algorithms and Programming
- MC202 - Data Structures
- MC302 - Object Oriented Programming
- MC322 - Object Oriented Programming
- MC323 - Object Oriented Programming Laboratory
- MC326 - File Structures
- MC336 - Programming Paradigms
- MC346 - Programming Paradigms
- MC348 - Mathematical Foundations of Computing
- MC358 - Mathematical Foundations of Computing
- MC404 - Basic Computer Organization and Assembly Language
- MC426 - Software Engineering
- MC436 - Introduction to Software Engineering
- MC437 - Information Systems Project
- MC448 - Design and Analysis of Algorithms I
- MC458 - Design and Analysis of Algorithms I
- MC504 - Operating Systems
- MC511 - Programming Challenges I
- MC514 - Operating Systems: Theory and Practice
- MC521 - Programming Challenges I
- MC522 - Computer Organization
- MC526 - Databases: Theory and Practice
- MC536 - Databases: Theory and Practice
- MC542 - Computer Organization: Theory and Practice
- MC548 - Design and Analysis of Algorithms II
- MC558 - Design and Analysis of Algorithms II
- MC602 - Logic Circuits and Computer Organization
- MC603 - Logic Circuits Laboratory
- MC613 - Digital Circuits Laboratory
- MC621 - Programming Challenges II
- MC626 - Information System Analysis and Design MC636 - Software Verification and Validation
- MC646 - Verification and Validation and Software Testing
- MC658 - Design and Analysis of Algorithms III
- MC704 - Systems Programming - Basic Software
- MC705 - Systems Programming Laboratory
- MC714 - Distributed Systems
- MC715 - Distributed Systems Laboratory
- MC721 - Programming Challenges III
- MC722 - Computer Systems Design
- MC723 - Computer Systems Projects Laboratory
- MC732 - Computer Systems Design
- MC733 - Computer Systems Projects Laboratory
- MC738 - Probabilistic Algorithms
- MC747 - Software Engineering Project
- MC748 - Approximation Algorithms
- MC750 - Construction of Human-Computer Interfaces
- MC758 - Algorithmic Game Theory MC798 - Integer Linear Programming
- MC821 - Programming Challenges IV
- MC822- Teleprocessing and Networks
- MC823 - Teleprocessing and Networking Laboratory
- MC832 - Computer Networks
- MC833 - Computer Network Programming
- MC851 - Computer Design I
- MC853 - Project in Programming Systems
- MC855 - Computer Systems Project
- MC857 - Project in Information Systems
- MC859 - Computer Theory Project
- MC861 - Computer Design II
- MC876 - Project Management and Software Quality
- MC886 - Machine Learning
- MC896 - Natural Language Processing
- MC898 - Flows in Networks and Linear Programming MC906 - Introduction to Artificial Intelligence
- MC907 - Mobile Robotics
- MC910 - Compiler Construction
- MC911 - Project in Compilers
- MC920 - Introduction to Digital Image Processing
- MC921 - Compiler Design and Construction
- MC922 - VLSI Design Principles
- MC937 - Computer Graphics
- MC940 - Image Processing and Analysis
- MC946 - Machine Learning and Pattern Recognition
- MC953 -Topics in Computer Networks I
- MC962 - Multimedia Network Project
- MC970 - Introduction to Parallel Programming
- MC971 - Introduction to Concurrent Programming