CMIS Course Listing
Introduction to Problem Solving and Algorithm Design (CMIS 102, 3 Credits)
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 implement them in an appropriate 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 (CMIS 111, 3 Credits)
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 (CMIS 141, 3 Credits)
(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 the 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 (CMIS 242, 3 Credits)
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 (CMIS 310, 3 Credits)
(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 (CMIS 320, 3 Credits)
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 (CMIS 330, 3 Credits)
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.
Advanced Relational Database Concepts and Applications (CMIS 420, 3 Credits)
Prerequisite: CMIS 320, IFSM 410, or IFSM 411. A comprehensive study of the features and techniques of relational database management appropriate to the advanced end user, database designer, or database administrator. The goal is to complete hands-on work using an industry-standard enterprise relational database management system. Topics include basic database administration functions, advanced SQL and complex data types, stored procedures, user-defined functions, triggers, and data warehousing. Students may receive credit for only one of the following courses: CMIS 420, IFSM 420, or IFSM 498I.
Advanced Programming in Java (CMIS 440, 3 Credits)
Prerequisites: CMIS 242 and CMIS 320. An exploration of advanced Java programming, using the Java Enterprise edition. The objective is to analyze, design, develop, test, deploy, and document small- to medium-scale web applications. Hands-on projects in Java server pages, servlets, and Java database connectivity are included. Students may receive credit for only one of the following courses: CMIS 440 or CMIS 498A.
Special Topics in Computer and Information Science (CMIS 498, 3 Credits)
Prerequisites: Vary according to topic. A seminar on topics in computer and information science. May be repeated to a maximum of 6 credits when topics differ.