Computer and Information Science Courses

Courses in computer and information science (designated CMIS) may be applied as appropriate (according to individual program requirements) toward

  • the general education requirement in computing
  • a major in computer science or information systems management
  • a minor in computer science
  • an AA in General Studies with computer studies curriculum
  • a certificate in computer studies or management
  • electives

Students without recent experience in problem solving with computers must take CMIS 102. It is recommended that for the first two academic sessions students should not take two (or more) courses that involve programming.

Introduction to Problem Solving and Algorithm Design (3 Credits, CMIS 102)

A study of techniques for finding solutions to problems through structured programming and step-wise refinement. The objective is to design programs using pseudocode and the C programming language. Hands-on practice in debugging, testing, and documenting is provided. Topics include principles of programming, the logic of constructing a computer program, and the practical aspects of integrating program modules into a cohesive application. Algorithms are used to demonstrate programming as an approach to problem solving. Students may receive credit for only one of the following courses: CMIS 102, CMIS 102A, or CMSC 101.

Social Networking and Cybersecurity Best Practices (3 Credits, CMIS 111)

A hands-on study of current social networking applications and approaches to protect against cyber attacks and enhance personal cybersecurity. The goal is to collaborate and interact through personal and professional social networking while developing and using computer security best practices. Discussion covers issues associated with the impact of social computing on individuals and society. Projects include creating and maintaining accounts on selected social networking sites.

Introductory Programming (3 Credits, CMIS 141)

(Not open to students who have taken CMIS 340. The first in a sequence of courses in Java.) Prerequisite: CMIS 102 or prior programming experience. Recommended: MATH 107. A study of structured and object-oriented programming using the Java language. The goal is to design, implement, test, debug, and document Java programs, using appropriate development tools. Projects require use of algorithms, simple data structures, and object-oriented concepts. Students may receive credit for only one of the following courses: CMIS 141, CMIS 141A, or CMSC 130.

Intermediate Programming (3 Credits, CMIS 242)

Prerequisite: CMIS 141. Further study of the Java programming language. The objective is to design, implement, test, debug, and document Java programs, using appropriate development tools. Topics include object-oriented design, event-driven programming, exceptions, recursion, arrays, and data structures.

Computer Systems and Architecture (3 Credits, CMIS 310)

(Not open to students who have completed CMSC 311.) Prerequisite: CMIS 115, CMIS 125, or CMIS 141. A study of the fundamental concepts of computer architecture and factors that influence the performance of a system. The aim is to apply practical skills to computer systems architecture. Topics include data representation, assembly language, central processing unit architecture, memory architecture, and input/output (I/O) architecture. Students may receive credit for only one of the following courses: CMIS 270, CMIS 310, CMSC 311, or IFSM 310.

Relational Database Concepts and Applications (3 Credits, CMIS 320)

Prerequisite: CMIS 102 or CMIS 141. A study of the functions, underlying concepts, and applications of enterprise relational database management systems (RDBMS) in a business environment. The aim is to appropriately use databases to meet business requirements. Discussion covers entity/relationship diagrams, relational theory, normalization, integrity constraints, the Structured Query Language (SQL), and physical and logical design. Business case studies and projects include hands-on work using an industry-standard RDBMS. Students may receive credit for only one of the following courses: CMIS 320 or IFSM 410.

Software Engineering Principles and Techniques (3 Credits, CMIS 330)

Prerequisite: CMIS 115, CMIS 125, or CMIS 141. A study of software engineering from initial concept through design, development, testing, and maintenance of the product. Discussion covers software development life-cycle models. The goal is to analyze, customize, and document multiple processes to solve information technology problems. Topics include configuration management, quality, validation and verification, security, human factors, and organizational structures. Students may receive credit for only one of the following courses: CMIS 330 or CMIS 388A.