Computer Studies & Info. Proc. (COMI)

For a list of courses that meet the Programming Language Requirement, please see this page. 

COMI 1050  - Survey of Computer Studies  
(3 Credits)  
Computer science is a broad field that touches every aspect of our lives. In this course, you will learn about current specializations within computer science for which CCRI has degree programs. You will explore these areas through hands-on labs and learn about real-world applications and employment opportunities.

Lecture: 2 hours, Lab: 2 hours
  
COMI 1100  - Introduction to Computers  
(3 Credits)  
This computer literacy course provides a comprehensive introduction to the principles of computers and information processing. Students are introduced to the operation and terminology of computer systems as well as certain selected application software packages such as word processing, spreadsheets, and presentation software.

Lecture: 2 hours, Lab: 2 hours
  
COMI 1150  - Programming Concepts  
(3 Credits)  
This course introduces important concepts and skills necessary for computer programming. Emphasis is on structured programming techniques and top-down design.

Lecture: 2 hours, Lab: 2 hours
  
COMI 1170  - Scripting for System Administration  
(3 Credits)  
This course introduces the use of scripting languages for system administration, automation, and security. Most of the work and learning takes place in hands-on lab exercises on virtual machines using a "learn by example" model where students can examine and analyze example scripts as the basis for creating their own scripts to accomplish lab goals and tasks. Scripting languages such as BASH, PowerShell, and Python are used to accomplish and automate common system administration tasks. Scripts are developed on both Linux and Windows platforms to illustrate similarities and differences in scripting languages and environments.

Lecture: 2 hours, Lab: 2 hours
  
COMI 1215  - Programming in C++  
(3 Credits)  
This course introduces the C++ programming language. Topics include conditionals, repetition structures, functions, pointers and reference types, file handling, security, and object-oriented design.

Lecture: 2 hours, Lab: 2 hours
  
Prerequisite(s): COMI 1150
  
Course completes the following requirements:
Computer Programming Rqmt
  
COMI 1225  - Programming in C#  
(3 Credits)  
This course covers the fundamentals of software development using Microsoft’s Visual Studio C# object-orientated programming language. Data Structures, Methods, Classes, Decision Making, Iteration and Arrays are covered.

Lecture: 2 hours, Lab: 2 hours
  
Course completes the following requirements:
Computer Programming Rqmt
  
COMI 1240  - Object-Oriented Programming  
(3 Credits)  
This course introduces students to the fundamentals of designing and coding object-oriented programs. Basic topics such as objects, classes and class inheritance are discussed. Students write programs using one of the object-oriented languages.

Lecture: 2 hours, Lab: 2 hours
  
Prerequisite(s): COMI 1150 or COMI 1215 or COMI 1225 or COMI 1510 or COMI 2040
  
Course completes the following requirements:
Computer Programming Rqmt
  
COMI 1260  - Introduction to SQL  
(3 Credits)  
This course offers a foundation in the fundamentals of Structured Query Language (SQL). Particular attention is devoted to the use of ANSI-Standard SQL to construct and manipulate database objects. Students create database tables, work with Functions and Operators, and generate SQL scripts to extract and manipulate data from the database. (Spring only)

Lecture: 2 hours, Lab: 2 hours
  
Course completes the following requirements:
Computer Programming Rqmt
  
COMI 1300  - Introduction to Data Analytics  
(3 Credits)  
This course provides an introduction to the concepts and procedures in Data Analytics. The course introduces students to the underlying skills required in the collection, manipulation, and analysis of data needed to begin the process of reporting and creating visualizations used in Data Analytics. An overview of data collection, cleansing, and manipulation of data for analysis and reporting are introduced and reviewed. Emphasis is placed on the tools used for statistical analysis and visualization such as: Excel, SQL (Structured Query Language), and Tableau.

Lecture: 2 hours, Lab: 2 hours
  
Course completes the following requirements:
Computer Programming Rqmt
  
COMI 1350  - Data Analytics Programming  
(3 Credits)  
This course provides students with the fundamental skills required to effectively manipulate and visualize data. The course covers the topics of structuring data, descriptive statistics, machine learning algorithms, and visualization methods used in Data Analytics. Emphasis is placed on using a statistical programming language. (Spring only)

Lecture: 2 hours, Lab: 2 hours
  
Prerequisite(s): COMI 1150 or COMI 1300 or COMI 1260
  
Course completes the following requirements:
Computer Programming Rqmt
  
COMI 1415  - Personal Computer Operating System  
(1 Credit)  
This module familiarizes students with operating system commands for the personal computer. Students are exposed to statements to enhance their computer operation abilities.

Lecture: 2 hours, Lab: 2 hours
  
COMI 1420  - Introduction to Spreadsheets  
(1 Credit)  
The purpose of this module is to introduce the operational procedures for a spreadsheet software package. Students construct and manipulate data files to produce clear and concise reports.

Lecture: 2 hours, Lab: 2 hours
  
COMI 1422  - Intermediate Spreadsheets  
(1 Credit)  
This module presents topics and functions, advanced database techniques and additional add-in topics. It focuses on conceptual features beyond the scope of beginning spreadsheet uses. Topics include utilizing additional spreadsheet features and macro planning and development.

Lecture: 2 hours, Lab: 2 hours
  
COMI 1430  - Introduction to Database Software  
(1 Credit)  
This module introduces students to different methods of organizing and accessing computer files. Fundamentals of database design and management are covered.

Lecture: 2 hours, Lab: 2 hours
  
COMI 1440  - Presentation Software (PowerPoint)  
(1 Credit)  
This module focuses on the use of computer software that incorporates presentation as well as analytical graphics. Students create informative report documents and visual presentations using charts, graphs and/or pictures.

Lecture: 2 hours, Lab: 2 hours
  
COMI 1450  - WINDOWS Operating System  
(3 Credits)  
This course familiarizes students with the Windows operating system. Basic and advanced features of Windows are demonstrated. Students explore topics in system diagnostics and troubleshooting, networking, configuration, customization, and commonly used software tools as well as learning about new developments in Windows. (Spring only)

Lecture: 2 hours, Lab: 2 hours
  
COMI 1461  - Introduction to UNIX  
(1 Credit)  
This module exposes students to the basic command structures and syntax of the UNIX operating system. Content includes file and directory manipulation as well as use of shell scripts. (Fall only)

Lecture: 3 hours, Lab: 1 hour
  
COMI 1510  - Java Programming  
(3 Credits)  
This course introduces students to topics in programming and software design using the Java programming language. Specific topics reflect current technologies and might include an introduction to object-oriented program design, data analysis, and search and sort algorithms.

Lecture: 2 hours, Lab: 2 hours
  
Prerequisite(s): COMI 1150 or COMI 1215 or COMI 1225 or COMI 1240 or COMI 2040
  
Course completes the following requirements:
Computer Programming Rqmt
  
COMI 1640  - Introduction to Word Processing  
(1 Credit)  
This module introduces introductory word processing features such as creating, printing, and editing a document. This course covers formatting documents including text and paragraphs. Students use spelling, grammar, and auto-correct features and are introduced to headers, footers, and tables in basic word processing documents.

Lecture: 2 hours, Lab: 2 hours
  
COMI 1750  - Web Development 1  
(3 Credits)  
This course provides an in-depth introduction to Hypertext Markup Language version 5 (HTML 5) and Cascading Style Sheets version 3 (CSS 3) emphasizing conformance to W3C (World Wide Web Consortium) specifications. Students begin by creating simple web pages and progress to include images, hyperlinks, tables, web forms, animations, and transitions. A portfolio website will be created, including examples of attempts at cloning existing websites.

Lecture: 2 hours, Lab: 2 hours
  
Course completes the following requirements:
Computer Programming Rqmt
  
COMI 1770  - Web Development 2  
(3 Credits)  
This course provides an in-depth introduction to a variety of technologies used in modern web development. Building on a base of Hypertext Markup Language version 5 (HTML 5) and Cascading Style Sheets version 3 (CSS 3), students will explore JavaScript, JQuery and related technologies for building dynamic web sites. Students will also be introduced to server-side scripting and best practices for web hosting. (Spring only)

Lecture: 2 hours, Lab: 2 hours
  
Prerequisite(s): COMI 1750
  
COMI 1800  - Computer Networking Software Linux  
(3 Credits)  
This course presents the administration of a LINUX network. Topics include installing, using, administering, and maintaining a LINUX network. This course prepares students for the CompTIA Linux+ certification.

Lecture: 2 hours, Lab: 2 hours
  
COMI 1840  - Microsoft Windows Server  
(3 Credits)  
This course presents the terminology and operating principles of Microsoft Windows server software. Students learn how to use, install and maintain Microsoft Windows networking software.

Lecture: 2 hours, Lab: 2 hours
  
COMI 2010  - Client-Side Scripting Languages  
(3 Credits)  
This course introduces the use of scripting languages for client-side website development, with an emphasis on JavaScript and related technologies.

Lecture: 2 hours, Lab: 2 hours
  
Course completes the following requirements:
Computer Programming Rqmt
  
COMI 2015  - Introduction to Microsoft Project  
(1 Credit)  
This module introduces students to project management software, an essential tool used by most information technology environments. Upon completion of this course, students can create and analyze projects using Microsoft Project Manager.

Lecture: 2 hours, Lab: 2 hours
  
COMI 2020  - Network Security Software Fundamentals  
(3 Credits)  
This course introduces students to networking security, a critical knowledge point for technology professionals. This course provides students with introductory concepts and technical skills needed to create and maintain a secure network environment. (Fall only)

Lecture: 2 hours, Lab: 2 hours
  
COMI 2031  - Computer Support: Concepts  
(3 Credits)  
This course introduces students to basic technical concepts, functions and support systems. (Fall only)

Lecture: 2 hours, Lab: 2 hours
  
COMI 2033  - Computer Support: Network and Virtual Machine  
(3 Credits)  
This course covers information on basic networks, network components, how to build networks, and how to create different virtual machines. The material presented helps prepare the student for the Network+ examination. (Spring only)

Lecture: 2 hours, Lab: 2 hours
  
COMI 2035  - Introduction to Computer Forensics  
(3 Credits)  
This course starts with the basics of computer technology to build a foundation for understanding where evidence can be found. It introduces students to the technology and procedures of acquiring and analyzing digital evidence taken from computers. This course also exposes students to the software being used in the industry.

Lecture: 2 hours, Lab: 2 hours
  
COMI 2036  - Introduction to Computer Ethics  
(3 Credits)  
This course explores the ethical impact of computer technology on the world, as well as the rules and regulations that ensure the proper use of technology. Internet crime, privacy protection and first amendment rights that protect our freedoms in cyberspace are closely examined.

Lecture: 2 hours, Lab: 2 hours
  
COMI 2037  - Introduction to Cybersecurity  
(3 Credits)  
This course introduces students to the opportunity that exists in the cybersecurity field. Topics such as certified ethical hacking, cyber threats and vulnerabilities and cryptography are introduced.

Lecture: 2 hours, Lab: 2 hours
  
COMI 2038  - Ethical Hacking  
(3 Credits)  
This course is an introduction to hacking tools, techniques, and incident handling. Topics of instruction include: the evolution of hacking and penetration testing; the basics of cryptology for information security; footprinting; vulnerability scanning and exploit; wireless, web, and database attacks; malware and system exploit; traffic analysis; incident response; and defensive technologies and controls. In this course, the students will learn how to discover vulnerabilities, how to attack and defend systems, how to respond to attacks, and how to identify and design controls to prevent future attacks. This course prepares students to pass the EC-Council Certified Ethical Hacker certification exam. (Spring only)

Lecture: 2 hours, Lab: 2 hours
  
Prerequisite(s): CNVT 1820 or COMI 1800 or COMI 2037
  
COMI 2040  - Beginning Game Programming  
(3 Credits)  
This course will introduce the student to game development and the beginning principles of game programming.

Lecture: 2 hours, Lab: 2 hours
  
Prerequisite(s): COMI 1150
  
Course completes the following requirements:
Computer Programming Rqmt
  
URI/RIC Transfer General Education Transfer Opportunity: Yes  
COMI 2225  - Advanced Programming in C#  
(3 Credits)  
This course introduces the student to advanced topics in programming and software design using Microsoft’s C# programming language. Topics covered include classes, abstract classes, inheritance, ADO.Net data driven applications using a database, ASP.Net for Web applications, collections, and file streams.

Lecture: 2 hours, Lab: 2 hours
  
Prerequisite(s): COMI 1225 or COMI 1215 or COMI 1510
  
Course completes the following requirements:
Computer Programming Rqmt
  
COMI 2510  - Advanced Java Programming  
(3 Credits)  
This course introduces students to advanced topics in object-oriented programming and software design in Java and UML. Specific topics reflect current technologies and might include graphical user interfaces and the event loop, software testing and security, and recursion, among others.

Lecture: 2 hours, Lab: 2 hours
  
Prerequisite(s): COMI 1510
  
Course completes the following requirements:
Computer Programming Rqmt
  
COMI 2520  - Data Structures and Algorithms  
(3 Credits)  
This course introduces the student to data structures, algorithm design, and space and time complexity analysis. Topics include common data structures such as linked lists, stacks, queues, binary trees, searching and sorting algorithms, maps, and hash tables, and techniques of run-time complexity analysis such a Big O notation.

Lecture: 3 hours, Lab: 1 hour
  
Prerequisite(s): COMI 2510 or COMI 2225
  
Course completes the following requirements:
Computer Programming Rqmt
  
COMI 2530  - Introduction to Software Engineering^  
(4 Credits)  
This course introduces students to important concepts in software engineering. Students will learn how to take a project through all stages of the Software Development Life Cycle, including requirements analysis and implementation. Topics may include Unified Modeling Language (UML), Design Patterns, Version Control Systems, Agile, Validation/Correctness, and developing an understanding of current best practices in software engineering.

Lecture: 3 hours, Lab: 2 hours
  
Prerequisite(s): COMI 2510 (may be taken concurrently) and COMI 2225
  
Course completes the following requirements:
Computer Programming Rqmt
  
COMI 2900  - Data Analytics Internship^  
(3 Credits)  
The opportunity to implement the skills and knowledge learned in the classroom through “hands on” experience in a business setting is a critical aspect of gaining a thorough understand of how Data Analytics is utilized. To complete the course, the student is required to spend an average of 10 hours per week of field work under the guidance of industry professionals. This work experience will constitute the practicum and capstone for the program. The student will be required to produce a portfolio relating to the work experience and how it is connected to the content of this program. Students will keep a working journal during the semester to help assess the progress of their experience. (Spring only)

Lecture: 2 hours, Other: 9 hours
  
Prerequisite(s): COMI 1350 (may be taken concurrently)