Graduate Courses Graduate Course Descriptions Undergraduate Courses Undergraduate Course Descriptions
Associate Degree Minor in Web Design Instructors Job Opportunities


Computer and Information Science Courses
Undergraduate Course Descriptions

CIS 2200 Basic Microcomputing (3)

This course provides an interdisciplinary introduction to microcomputer literacy, word processing, spreadsheets, database, business graphics and the internet.  NOTE:  Cannot be used to satisfy the major or minor requirements in Computer & Information Science.

May not be audited.

CIS 2240 Introduction to Computer Science (3)

The advanced techniques of standard business applications including, but not limited to, spreadsheets, database, and presentation tools are examined.  The course briefly covers programming concepts and is taught in a computer laboratory for maximum hands-on experience.  Preq:  CIS 2200 and MTH 1111 

CIS 2244 Computer Science I (4)

An introduction to a programming language is provided. The course also presents programming fundamentals, including program structure, assignment, data types, input/output, flow of control, and functions.  It includes top-down design, structured programming using the basic control structures, sequence, decision and repetition, modularization, and encapsulation.  The phases of engineering of software are introduced and techniques of program testing are emphasized.  The student writes a moderate number of short programs.  Prereq:  MTH 1112.  "C" or better to advance for CIS majors. 

CIS 2260 Computer Science II (4)

This course is a continuation of Computer Science I.  Advanced programming, including arrays, pointers, strings, the pre-processor, structures, list processing, and advanced I/O are examined.  Emphasis is placed on developing and testing moderately large programs.  Ethical issues in computing will be discussed.  The student writes a number of programs, generally larger than those written in Computer Science I.  Prereq:  CIS 2244 and MTH 1125.  "C" or better to advance for CIS majors. 

CIS 2261 Foundations in Computer Science (3)

A broad introduction is presented to the concepts in computer science intended as preparation for more in-depth coverage in upper level courses.  Topics discussed include fundamentals of Boolean predicate logic, gate and combinatorial logic circuits, internal data representation, computer system organization, machine and assembly language programming, operating systems, finite state machines, and programming language grammars.  This is not a programming language course, although the student will write short machine and assembler language programs.  Prereq:  CIS 2260 

CIS 2265 High-Level Language Programming (3)

An opportunity for a Computer Science major or minor to gain experience and training in a secondary high-level language.  Topics included the syntax, advantages, disadvantages, limitations, and selected applications of a language.  Credit will not be given toward a computer science major or minor if credit has been received for the same language in another course.  C/CPP, C/C++, J.JAVA, P.Prolog, S.Smalltalk, L.Lisp.  Prereq:  CIS 2260 or consent of instructor. 

CIS 3312 Discrete Mathematics (3)

Discrete mathematics with a computer science orientation is presented.  Topics examined include definitions of the algorithm concept, recursive definitions and recursive algorithms, sets, relations, algorithm timing, finite state machines, permutations and binomial coefficients, matrix representation of graphs and graph algorithms, and discrete probability.  Topics can also be drawn from principles of inclusion and exclusion, generating functions, and discrete simulation.  Prereq:  CIS 2260 and MTH 1126 

CIS 3313 Probability and Statistics (3)

Statistical methods with probabilistic foundations are covered.  Topics discussed include independence and the normal distribution, central limit theorem, data collection and sampling, testing of hypotheses, confidence intervals, linear regression, and computational intensive techniques.  Prereq:  CIS 3312 

CIS 3323 Data Structures (3)

Abstract data types, lists, ordered lists, arrays, linked lists, stacks, queues, and trees are surveyed.  The course includes open laboratory assignments that include implementing a stack with arrays, a queue with arrays, a stack with a linked list, a queue with a linked list, and a queue of ordered lists using a linked list of arrays.  Prereq:  CIS 3312

CIS 3325 Operations Research (3)

The course includes introduction to operations research, introduction to linear programming, simplex-based sensitivity analysis and duality, linear programming applications, network models, simulation, waiting line models, Markov processes, forecasting, and inventory models.  Prereq:  CIS 3313 and MTH 1126

CIS 3329 An Analysis of Algorithms (3)

Alternative techniques to solve real-world problems in computer science are presented.  Problems include sorting, selection, tree, graph, traversal, priority queues, string matching, dynamic programming, polynomials, and matrices.  Principles and techniques of measuring computational complexity, and introductions to NP-completeness and parallel algorithms are discussed.  The students write a moderate amount of moderately sized programs.  Prereq:  CIS 3313 and CIS 3323

CIS 3331 Fundamentals of Artificial Intelligence (3)

Approaches to defining artificial intelligence and the building of intelligent computer systems are presented.  The course includes discussion of the Turning test, Sourly's Chinese room, blackboard systems, logic programming, knowledge based systems, scripts and schemas, and heuristic search techniques.  Overviews of genetic algorithms, artificial neural networks, statistical and structural pattern analysis, and fuzzy sets are provided.  The course includes three open laboratory assignments involving a knowledge-based system, implementation of a heuristic search, and an exploration of P.P.  Prereq:  CIS 3329 

CIS 3332 Software Engineering I (3)

Selected topics are presented which focus on the design and development of tools and techniques for large, high quality, cost effective software systems.  Prereq:  CIS 3329 

CIS 3339 Fundamentals of Object-Oriented Programming (3)

 A conceptual framework is presented of object-oriented programming.  Topics discussed include classes, data hiding, member functions, object creation, overloading, inheritance, parametric polymorphism, and reusable code.  Students write a moderate amount of small to medium-sized programs.  Prereq:  CIS 3329 

CIS 3343 Formal Languages and the Theory of Computation (3)

Formal language theory, including the Chomsky hierarchy, with emphasis on regular and context free languages, finite state automata, and translators is presented.  Also discussed are the principles of programming language design to include the analysis of the generational differences among programming languages.  Prereq:  CIS 3370 

CIS 3357 Logical Structures of Computer Design (3)

Boolean algebra, design and minimization of combinational and sequential circuits are discussed.  This course includes six open laboratory assignments covering a introduction to simulation software, implementation of a simple combinational logic switching circuit, implementation of a combinational switching circuit with a static hazard and modification of the same circuit to remove the static hazard, implementation of a simple sequential circuit using a single type of flip-flop, implementation of a sequential circuit using two types of flop-flops, implementation of a sequential switching circuit exhibiting a race condition and modification of the same circuit to remove the race condition.  Prereq:  CIS 2261 and CIS 3312 

CIS 3365 Introduction to Computer Organization and Architecture (4)

Organization and basic architecture of computer systems.  Topics include hardware components of digital computers, micro-programming and memory management.  Boolean algebra and logic circuits; register transfer operations; design small computer; input, output, and interrupt organization; powerful addressing modes, instruction formats, and their hardware structures; micro-program control.  Laboratory exercises involve logical, functional properties of components from gates to microprocessors.  Prereq: 3357 

CIS 3366 Social and Ethical Implications of Computing (4)

Introduction to the impact of computers on society and the ethical and legal issues confronting computer users and professionals.  Topics include computer ethics, professional responsibility, intellectual property, privacy, access, and the law.  May not count toward a minor in Computer & Information Science.  Prereq:  junior standing and consent of the department 

CIS 3370 Nature of Programming Languages (3)

General criteria design, implementation, and evaluation of programming languages.  Historical prospective.  Syntactic and semantic specification, compilations, and interpretation processes.  Comparative studies of data types and data control, procedures and parameters.  Sequence control, nesting, scope and storage management, run-time representations.  Non-standard languages, problem-solving assignments in a laboratory environment.  Prereq:  CIS 3323 and CIS 3365 

CIS 4401 Special Topics in Artificial Intelligence (3)

In-depth study is conducted of a topic in current artificial intelligence research.  Topics for consideration include genetic algorithms, artificial neural networks, pattern analysis, logic programming, fuzzy sets, or other appropriate research areas.  The course includes three open laboratory assignments representing the incremental development of an appropriate project topic.  Prereq:  CIS 3331 

CIS 4410 Compiler Analysis and Design (3)

A study of programming language structure, translation, loading, execution, and storage allocation.  Compilation of simple expressions and statements.  Organization of a compiler including compile-time and run-time symbol tables, lexical scan, syntax scan, object code generation, error diagnostics, object code optimization techniques, and overall design.  Use of high-level language to write a complete compiler.  Prereq:  CIS 3365 

CIS 4420 Introduction to Database Management Systems (3)

The study of the fundamental concepts and structures necessary for the design and implementation of database management systems.  Topics include database models (entity-relationship, relational network, and hierarchical).  Data normalization, data description languages, query facilities, file organization, index organization, file security, data integrity, and reliability.  The student generates, creates, loads and accesses a database using Database Management Systems.  Prereq:  CIS 2265 

CIS 4445 Data Communications (3)

Local area network standards, topologies, technologies and management are examined.  Additional topics include the interconnection of LANS, distributed computing, and network-related security issues.  Prereq:  CIS 3329 

CIS 4446 Systems Analysis and Design (3)

Investigation, design, appraisal and implementation of data processing systems are presented.  Additional topics include I/O design, code standardization, documentation, hardware and software selection, and case studies.  Prereq:  CIS 3332 

CIS 4448 Operating Systems (3)

An overview is provided of operating system components and functions, process description and states, concurrency and related issues, and scheduling and memory management strategies.  This course includes two open laboratory assignments covering a comparative exploration of several operating systems, and implementation of a simulation of a rudimentary, multi-tasking operating system.  Prereq:  CIS 3329 and CIS 3365 

CIS 4461 Software Engineering II (3)

This course is a continuation of Software Engineering I with additional topics including software quality assurance, testing techniques, maintenance and configuration management.  Student teams will design, develop, and implement a large project.  Prereq:  CIS 3332 

CIS 4462 Special Topics in Object-Oriented Technology (3)

In-depth coverage is presented of specific topics in object-oriented technology.  These topics can include object-oriented systems analysis and design, object-oriented databases, alternative object-oriented programming languages such as Smalltalk, applications of object-oriented technology to computer graphics, building general user interfaces (GUIs) and class construction and management.  Prereq:  CIS 3339 

CIS 4491-4492 Guided Independent Research (1-3 hours per course)

Information indexed under "Guided Independent Research and Study."  Prereq:  junior or senior standing 

CIS 4493-4494 Guided Independent Study (1-3 hours per course)

Information indexed under "Guided Independent Research and Study."  Prereq:  junior or senior standing


Montgomery Campus Home Page