Computer and Information Science
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 and information science, digital media and Web technologies, or information systems management;
- a minor in computing;
- an AA general studies with computer studies curriculum;
- a Computer Studies Certificate or a Certificate in Management; and
- 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.
CMIS 102 Introduction to Problem Solving and Algorithm Design (3)
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 participate in hands-on debugging, testing, and documenting activities. 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.
CMIS 111 Social Networking and Cybersecurity Best Practices (3)
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.
CMIS 141 Introductory Programming (3)
(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 or CMSC 130.
CMIS 170 Introduction to XML (3)
Prerequisites: CMIS 102 or CMIS 141. An introduction to the principles of Extensible Markup Language (XML) and its use in business data exchange. The goal is to design and create well-formed, validated XML documents. Discussion covers the structure, transformation, presentation, and implementation of XML technologies, including document type definitions (DTDs) and schemas. Hands-on projects and exercises are provided.
CMIS 242 Intermediate Programming (3)
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.
CMIS 310 Computer Systems and Architecture (3)
(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.
CMIS 315 Programming in C++ (3)
Prerequisite: CMIS 141, CMIS 115, or CMIS 125. A hands-on, comprehensive study of the C++ programming language, including basic C++ syntax, arrays and strings, pointers and references, operator overloading, object-oriented concepts, inheritance and polymorphism, and templates. The aim is to design, implement, test, debug, and document C++ programs using basic computation, simple input/output (I/O), standard conditional and iterative structures, and functions. Students may receive credit for only one of the following courses: CMIS 240 or IFSM 315.
CMIS 320 Relational Database Concepts and Applications (3)
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 of the course 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.
CMIS 325 UNIX with Shell Programming (3)
Prerequisite: CMIS 141, CMIS 115, or CMIS 125. A hands-on, project-based introduction to the UNIX operating system. The aim is to use basic UNIX commands to design, create, and execute shell programs. Topics include file structures, editors, pattern-matching facilities, shell commands, and shell scripts.
CMIS 330 Software Engineering Principles and Techniques (3)
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.
Last updated: 5 July 2011