CCOM 3001: PROGRAMACIÓN DE COMPUTADORAS I; cinco (5) créditos, tres (3) horas semanales de conferencia y dos (2) horas semanales de laboratorio. El curso introduce al estudiante en los conceptos básicos de un sistema de computadoras, los conceptos básicos necesarios para la creación, codificación, documentación, prueba y depuración de programas.
CCOM 3002: PROGRAMACIÓN DE COMPUTADORAS II; cinco (5) créditos, tres (3) horas semanales de conferencia y dos (2) horas semanales de laboratorio. Pre-requisito: CCOM 3001. El curso fue diseñado como continuación a CCOM 3001, para seguir desarrollando los temas introducidos en éste. El curso incluye otros temas como: recursión, programas de búsqueda y ordenamiento, apuntadores y otros.
CCOM 3010: NIVELES LÓGICOS; tres (3) créditos, tres (3) horas semanales de conferencia. Impacto de los niveles lógicos en el campo de las computadoras. Énfasis en el estudio de la excelencia y su duplicación en el ámbito académico y profesional. Aplicación del razonamiento lógico tanto deductivo como inductivo en el diseño de soluciones algorítmicas. Estrategias de razonamiento, creatividad y memorización. Electiva departamental.
CCOM 3017: SEGURIDAD DE LAS COMPUTADORAS Y DE LA INFORMACIÓN; tres (3) créditos, tres (3) horas semanales de conferencia. Estudio de controversias y principios fundamentales de la seguridad en las computadoras y de la información. Trasfondo en la evolución, necesidades organizacionales, amenazas, ataques, incluyendo aspectos legales y éticos. Comprender la planificación de la seguridad, gestión de riesgos, control de acceso, autenticación, tecnología de seguridad, detección de intrusiones, prevención, criptografía, protocolos de comunicaciones seguras, seguridad física y plan del proyecto. También se cubrirán las preocupaciones tales como el posicionamiento de la función de seguridad de la información y el mantenimiento de la seguridad.
CCOM 3020: MATEMÁTICAS DISCRETAS; tres (3) créditos, tres (3) horas semanales de conferencia. Pre-requisito: MATE 3171. Este curso está diseñado para estudiantes que están en su primer o segundo año de estudios en un programa de Ciencia de Cómputos o en un programa de Matemáticas. En este curso los estudiantes aprenderán técnicas para realizar pruebas matemáticas elementales. Este curso también presentará al estudiante temas relacionados con conjuntos o procesos donde es importante la enumeración o que están asociados con subconjuntos de números naturales. Los temas discutidos en este curso son necesarios para otros cursos de matemática y ciencia de cómputos. Contenido del curso: pruebas matemáticas y lógicas, conjuntos y relaciones, funciones, inducción matemática y recursión, principios de conteo, combinatoria y probabilidad discreta, grafos y árboles.
CCOM 3025: INTRODUCCIÓN SISTEMAS DE COMPUTADORAS; tres (3) créditos, tres (3) horas semanales de conferencia. El curso introduce a la organización y estructura de un sistema de computadoras. Los estudiantes aprenden los componentes básicos de circuitos lógicos y aritméticos, aritmética binaria y representación de números.
CCOM 3027: PROGRAMACIÓN EN LENGUAJE ORIENTADO A OBJETOS; tres (3) créditos, tres (3) horas semanales de conferencia. Pre-requisito: CCOM 3002. El curso provee técnicas y estrategias de programación para resolver problemas en un lenguaje orientado a objetos. Provee una introducción a este paradigma de la programación, así como una descripción detallada de un lenguaje particular de esta forma de programación. Electiva departamental.
CCOM 3035: ORGANIZACIÓN DE COMPUTADORAS; tres (3) créditos, tres (3) horas semanales de conferencia. Pre-requisito: CCOM 3025. Este curso les brinda a los estudiantes los conceptos básicos de estructuras y arquitectura de computadoras incluyendo lenguaje de máquina. También enseña lenguaje ensamblador, modos de direccionamiento, entrada, salida y subrutinas, entre otros.
CCOM 3036: PROGRAMACIÓN VISUAL; tres (3) créditos, tres (3) horas semanales de conferencia. Pre-requisito: CCOM 3002. Estudio detallado de la estructura, sintaxis y codificación de un lenguaje de programación visual. Electiva departamental.
CCOM 3041: SISTEMAS OPERATIVOS; tres (3) créditos, tres (3) horas semanales de conferencia. Pre-requisitos: CCOM 3035 y CCOM 4005. Este curso provee los conceptos básicos de los sistemas operativos modernos. Se presentan conceptos como creación, manejo, planificación y sincronización de procesos, manejo de memoria real y virtual, creación y manejo de archivos, manejo del sistema de entrada/salida, y temas de protección y seguridad.
CCOM 3042: ARQUITECTURA DE COMPUTADORAS; tres (3) créditos, tres (3) horas semanales de conferencia. Pre-requisito: CCOM 3035. Este curso estudia los principales componentes de una computadora y explora con más profundidad los aspectos tratados en CCOM 3035. Sistema de memoria y bus, conjuntos de instrucciones, microprogramación y diseño control y estructura de CPU son temas estudiados en este curso. También se estudian temas relacionados con el procesamiento en paralelo en múltiples procesadores. Electiva departamental.
CCOM 3115: APLICACIONES BÁSICAS MICROPROCESADORES; tres (3) créditos, tres (3) horas semanales de conferencia. Pre-requisito: CCOM 3035. El curso incluye el estudio de la teoría de circuitos combinacionales y secuenciales, y la estructura y programación de microprocesadores. Los estudiantes se familiarizan con los conceptos básicos de microprocesadores y sus aplicaciones. Electiva departamental.
CCOM 3135: TEMAS EN CIENCIA DE CÓMPUTOS; tres (3) créditos, tres (3) horas semanales de conferencia. Pre-requisito: varía según el tema. El curso presenta a los estudiantes temas de interés actualizados en el área de Ciencia de Cómputos que no están incluidos en el currículo regular. Los temas a ser discutidos cuando se vaya a ofrecer el curso serán determinados por la facultad del departamento. Electiva departamental.
CCOM 3985: INVESTIGACIÓN SUBGRADUADA EN TÓPICOS DE CIENCIA DE CÓMPUTOS; dos (2) créditos, cuatro (4) horas de contacto semanal. Pre-requisito: Autorización del profesor que ofrece el curso. Este curso espera introducir a los estudiantes universitarios de todas las disciplinas “STEM” en el proceso de investigación de la ciencia de cómputos. Se incluyen las siguientes herramientas para lograr dicho propósito: Práctica del método científico, planificación, realización y documentación de la investigación, la ética en la investigación, resúmenes, sesiones de afiche y presentación oral de los proyectos. Debido a que en el curso se pueden matricular estudiantes de diferentes disciplinas, se familiarizan con los temas de investigación, formas de elaboración de argumentos, lo que ayudará a desarrollar una perspectiva más interdisciplinaria de la investigación y explorar la posibilidad de la escuela graduada. Electiva departamental.
CCOM 4005: ESTRUCTURAS DE DATOS; tres (3) créditos, tres (3) horas semanales de conferencia. Pre-requisitos: CCOM 3002 y MATE 3171, Co-requisito: CCOM 3020. Este curso presenta el diseño y análisis de estructuras de datos fundamentales, incluyendo ejemplos de aplicaciones de la vida real. Se comparan y contrastan diferentes implementaciones de estructuras de datos para comprender las ventajas y desventajas de cada una, promoviendo así el análisis de qué estructuras de datos pueden ser más adecuadas para una tarea en particular. Temas incluyen conjuntos, listas encadenadas, pilas, recursión, colas, ordenamiento, árboles binarios de búsqueda, tablas de dispersión y montículos.
CCOM 4006: DISEÑO Y ANÁLISIS ALGORITMOS; tres (3) créditos, tres (3) horas semanales de conferencia. Pre-requisito: CCOM 3020 y CCOM 4005. Métodos y técnicas en el diseño y análisis de algoritmos. Se discuten diferentes paradigmas de diseño de algoritmos, como divide-y-vencerás, programación dinámica, y algoritmos codiciosos (“greedy”). Utilizando la notación asintótica, la complejidad de los algoritmos se analiza y compara con algoritmos de fuerza bruta. Otros temas incluyen el método maestro, algoritmos de grafos y una introducción a la teoría de la computación.
CCOM 4007: INTRODUCCIÓN A LA PROBABILIDAD Y LA ESTADÍSTICA CON APLICACIONES A LA CIENCIA DE CÓMPUTOS; cuatro (4) créditos, cuatro (4) horas semanales de conferencia. Pre-requisitos: MATE 3172 y CCOM 3020. Este curso proporciona los conceptos básicos sobre probabilidad y estadística incluyendo: Teoría de la probabilidad, naturaleza y significado de la estadística, organización de datos, medidas de localización y variabilidad, tendencia central, elementos de probabilidad, distribuciones discretas y continuas, elementos de inferencia estadística, regresión y correlación. Los estudiantes aplicarán los conceptos utilizando software especializado.
CCOM 4018: REDES DE COMPUTADORAS; tres (3) créditos, tres (3) horas semanales de conferencia. Pre-requisito: CCOM 3041. La meta de este curso es enseñar conceptos fundamentales y principios de redes de computadoras, enfocándose principalmente en su aplicación en Internet. El curso cubrirá un amplio espectro de temas detallado en el prontuario. Parte importante de este curso es el desarrollo de un proyecto de programación y se espera que los estudiantes tengan una experiencia aplicada de programación de “sockets”. Electiva departamental.
CCOM 4019: PROGRAMACIÓN WEB CON PHP/MYSQL; tres (3) créditos, tres (3) horas semanales de conferencia. Pre-requisitos: CCOM 4305 y CCOM 4115. Este curso enfatiza en las técnicas usadas en el desarrollo de páginas web dinámicas. El mismo presenta las herramientas necesarias para diseñar y desarrollar un sitio web con todos sus componentes usando PHP como lenguaje de programación y MySQL como sistema de manejo de base de datos. Electiva departamental.
CCOM 4025: ORGANIZACIÓN DE LENGUAJES DE PROGRAMACIÓN; tres (3) créditos, tres (3) horas semanales de conferencia. Pre-requisitos: CCOM 4005, MATE 3172. El curso provee un trasfondo teórico y formal de diferentes aspectos de los lenguajes de programación y del proceso de compilación. Se incluye el estudio de varios lenguajes de alto nivel que usan distintos paradigmas, incluyendo los imperativos y declarativos. Se requiere que los estudiantes implementen programas usando diversos programas de diversos paradigmas como Prolog y Scheme.
CCOM 4065: ÁLGEBRA LINEAL; tres (3) créditos, tres (3) horas semanales de conferencia. Pre-requisitos: CCOM 3002 y MATE 3031. En este curso, se estudiarán métodos numéricos para resolver problemas de álgebra matricial. Se estudiarán varios algoritmos y éstos se implementarán en la computadora utilizando una plataforma de programación de alto nivel. Los problemas de prueba se utilizarán para ilustrar las fortalezas y debilidades de los métodos. Los temas que se estudiarán incluyen: propiedades de matrices, la representación de punto flotante para números reales, métodos para resolver sistemas lineales (directos e iterativos), mínimos cuadrados y cálculo de autovalores de matrices. Al final de cada tema, se presentará un ejemplo de un problema de la vida real para el que se necesita uno de los métodos discutidos para resolver el problema.
CCOM 4075: INGENIERÍA DE PROGRAMACIÓN; tres (3) créditos, tres (3) horas semanales de conferencia. Pre-requisitos: CCOM 3041, CCOM 4115, CCOM 4006 y CCOM 4007. Este curso provee un trasfondo formal en el área de ingeniería de programación, diseño, especificaciones y evaluación de software de alta calidad. Se requiere que los estudiantes desarrollen un proyecto en grupo.
CCOM 4095: PROYECTO DE INGENIERÍA DE PROGRAMACIÓN; tres (3) créditos. Pre-requisito: CCOM 4075. Proyecto individual de investigación o práctica en la industria. El estudiante definirá, diseñará y aplicará un programa de aplicación utilizando el lenguaje de programación (alto o bajo nivel) o un proyecto de investigación aplicando la teoría aprendida y utilizando técnicas correctas de programación. Se requerirá una propuesta de proyecto, la cual será evaluada y tendrá que ser aceptada por el profesor encargado del curso.
CCOM 4115: DISEÑO DE BASE DE DATOS; tres (3) créditos, tres (3) horas semanales de conferencia. Pre-requisito: CCOM 4025. Este curso es una introducción a la administración y diseño de sistemas de base de datos, con énfasis en el diseño de bases de datos relacionales y desarrollo de aplicaciones. Incluye el estudio del modelo Entidad-Relación (E-R) y el modelo relacional (MR). Se exploran las técnicas para el diseño de bases de datos, dependencias funcionales y normalización. Además, se estudia conceptos de álgebra relacional, SQL como lenguaje para realizar los “queries” y aplicaciones Web. Finalmente, se presenta una visión general de las técnicas usadas en la implementación de software de bases de datos relacionales. Los estudiantes reciben una formación práctica en el diseño de la base de datos, desarrollo, e implementación usando un software de base de datos relacional.
CCOM 4125: INTELIGENCIA ARTIFICIAL; tres (3) créditos, tres (3) horas semanales de conferencia. Pre-requisitos: CCOM 4006 y CCOM 4007. Una introducción a los conceptos y técnicas de los sistemas de inteligencia artificial (AI, por sus siglas en inglés) y sus aplicaciones básicas. El estudiante aplicará los conceptos de AI a través del desarrollo de múltiples sistemas computacionales. Electiva departamental.
CCOM 4135: INTRODUCCIÓN AL DISEÑO DE COMPILADORES; tres (3) créditos, tres (3), horas semanales de conferencia. Pre-requisito: CCOM 4025. El curso presenta una introducción a la traducción de programas de alto nivel a bajo nivel a través del uso y diseño de compiladores. Se estudiarán los lenguajes regulares y los pasos básicos para el diseño de compiladores (“scanning”, “parsing”, análisis semántico y generación de código). Electiva departamental.
CCOM 4201: TEORÍA DE GRAFOS; tres (3) créditos, tres (3) horas semanales de conferencia. Pre-requisito: CCOM 4006. Este curso es una introducción a la Teoría de Grafos, una rama de las Matemáticas que tiene varias aplicaciones en el campo de Ciencia de Cómputos. Los grafos son estructuras matemáticas usadas para modelar relaciones entre objetos. Los grafos se pueden usar para modelar situaciones del mundo real y tienen muchas aplicaciones interesantes, tales como análisis de redes sociales, problemas de coordinación, y redes de computadoras, entre otros. El curso incluye temas tales como subgrafos, grafos dirigidos, caminos, ciclos, árboles, conectividad, y redes, al igual que diferentes aplicaciones de estos temas.
CCOM 4305: INTRODUCCIÓN AL DISEÑO DE PÁGINAS PARA WEB; cuatro (4) créditos, tres (3) horas semanales de conferencia y una (1) hora semanal de laboratorio. Pre-requisito: CCOM 3002. El curso enfatiza las técnicas a utilizarse en el desarrollo de sitios web para la Internet. Discute y analiza la metodología que apoya el desarrollo de páginas con orientación al usuario. Presenta las herramientas necesarias para diseñar un portal con todos sus componentes. Electiva departamental.
CCOM 4306: CREACIÓN, MANEJO Y OPTIMIZACIÓN DE GRÁFICOS PARA LA INTERNET; tres (3) créditos, dos (2) horas semanales de conferencia y (1) una hora de laboratorio semanal. Pre-requisito: CCOM 3001. El curso enfatiza las técnicas a utilizarse para desarrollar gráficos para ser usados en la Internet, incluyendo imágenes animadas. Presenta las herramientas necesarias para crear, manejar y optimizar gráficos para la Internet. Electiva departamental.
CCOM 4307: MANTENIMIENTO DE COMPUTADORAS; cuatro (4) créditos, dos (2) horas semanales de conferencia y dos (2) horas semanales de laboratorio. Pre-requisito: CCOM 3041. En este curso los estudiantes desarrollaran las destrezas para buscar y resolver problemas de las redes, componentes físicos, software y sistemas operativos (de servidores y computadoras de escritorio) y ciberseguridad. Se introducen conceptos básicos de seguridad de sistemas (firewalls, antivirus, anti-spam, etc.). Electiva departamental.
CCOM 4308: DESARROLLO DE WEB AVANZADO, tres (3) créditos, tres (3) conferencia a la semana. Prerrequisito: CCOM 4305: Introducción al Diseño de Páginas Web. Este curso amplía los conceptos y técnicas fundamentales aprendidos en los cursos introductorios de desarrollo web. Los estudiantes desarrollarán una comprensión profunda de las tecnologías del lado del cliente y del servidor junto con las mejores prácticas para crear aplicaciones web complejas, seguras, accesibles y escalables. Se centrarán en metodologías de programación del lado del cliente (“front-end”) y del lado del servidor (“back-end”) utilizando marcos (“frameworks”) y herramientas de desarrollo web contemporáneos. Este curso se ofrecerá en las modalidades presencial, híbrida y online.
CCOM 4401: DESARROLLO DE APLICACIONES MÓVILES; tres (3) créditos, tres (3) horas semanales de conferencia. Pre-requisito: CCOM 4005, y cualquiera de las siguientes opciones: CCOM 3027 o Programación en C# (para trabajos con Windows). Este curso provee los principios fundamentales del diseño y desarrollo de aplicaciones de software para dispositivos de mano. Los temas incluyen los principios de programación, las arquitecturas disponibles, las consideraciones de experiencia del usuario, y el proceso de diseño y desarrollo de una aplicación móvil. Los estudiantes completarán el proceso de diseño, codificación, depuración y análisis de sus aplicaciones en el sistema operativo de elección, utilizando emuladores y dispositivos de hardware. Los estudiantes producirán un prototipo funcional de una aplicación original y evaluarán su desempeño en un escenario del mundo real. El enfoque de la experiencia de programación está en el “front-end” de aplicaciones. Electiva departamental.
CCOM 4420: APLICACIONES DE COMPUTACIÓN EN LA NUBE; tres (3) créditos, tres (3) horas semanales de conferencia. Pre-requisitos: CCOM 4401 o CCOM 4019. El curso proporciona los principios de diseño y desarrollo de una aplicación de software para un dispositivo ubicuo conectado a sistemas de computación en la nube basados en la Web. Los temas incluyen la historia de los sistemas de red y la escalabilidad que condujo a la nube, las arquitecturas disponibles, incluido el “front-end” y el “back-end”, los centros de datos en la nube modernos y sus niveles, las consideraciones sobre la experiencia del usuario, la seguridad del sistema y del usuario, los principios de programación para diseñar y desarrollar una aplicación y el mercado actual de estas tecnologías. Los estudiantes diseñarán, codificarán, depurarán y experimentarán con aplicaciones basadas en la nube, utilizando emuladores y dispositivos de hardware. Los estudiantes producirán un prototipo de una aplicación original que funciona de manera eficiente y segura con un sistema en la nube y evaluarán su desempeño en un escenario del mundo real. El enfoque de la experiencia de programación está en el “back-end” de las aplicaciones; por lo tanto, se requiere experiencia en desarrollo de “front-end”. Electiva departamental.
CCOM 4440: PYTHON (INTRODUCCIÓN A VIDEOJUEGOS); tres (3) créditos, tres (3) horas semanales de conferencia. Pre-requisito: CCOM 3002. El curso provee técnicas y estrategias de programación para resolver problemas usando Python como lenguaje de programación orientada a objetos. Explora las técnicas para el desarrollo de videojuegos. Electiva departamental.
CCOM 4501: INTRODUCCIÓN A LA ROBÓTICA; cuatro (4) créditos, dos (2) horas de conferencia y dos (2) horas semanales de laboratorio. Pre-requisitos: MATE 3172 y CCOM 3002. Este curso presenta los conceptos fundamentales de robótica, exponiendo a los estudiantes a algunos de los acontecimientos contemporáneos en robótica, incluida la investigación actual de robótica, aplicaciones y competencias de robótica. Los temas incluyen cómo los robots se mueven, toman datos y perciben el mundo que los rodea, así como las estrategias de solución de problemas. En el proyecto del curso, los estudiantes construyen robots utilizando diferentes plataformas, reforzando los principios básicos desarrollados en las conferencias. Electiva departamental.
CCOM 4991: ESTUDIO INDEPENDIENTE I; créditos varían. Pre-requisitos: 12 créditos aprobados del programa de Ciencia de Cómputos y autorización del profesor que ofrece el curso. Este curso permite al estudiante investigar y/o desarrollar una solución a un problema en el área de Ciencia de Cómputos que es seleccionado conjuntamente por el alumno y el profesor. Se requiere una propuesta escrita y un informe final, siguiendo las pautas proporcionadas por la facultad del programa. Electiva departamental.
CCOM 4992: ESTUDIO INDEPENDIENTE II; créditos varían. Pre-requisitos: CCOM 4991 y autorización del profesor que ofrece el curso. Continuar con la investigación y desarrollo de CCOM 4991. Se requiere una propuesta escrita y un informe final, siguiendo las pautas proporcionadas por los profesores del curso. Electiva departamental.

SICI 3028:  Programación Aplicada, Tres (3) créditos, tres (3) horas de contacto semanal. Este curso provee los conocimientos teóricos y destrezas prácticas para hacer uso eficiente de tres tipos principales de aplicaciones usadas frecuentemente en los negocios: Procesadores de texto, hojas de cálculo y preparación de presentaciones y  otros tipos de programas.