Print Now
Close Window

Computer (CIS)

CIS 1030  Introduction to Computers  (3)                                                  as required
Students will become familiar with the Windows operating system, the applications that comprise the Microsoft Office software suite (word processing, spreadsheet, database, and presentation graphics), and communication software; 3 hours of lecture and laboratory per week. Prerequisite: None

CIS 1050  Introduction to Spreadsheets  (1)                                                fall/spring
This course introduces the student to the Microsoft operating system, e-mail, Internet, and the use of spreadsheets. Topics include the commands necessary to build a spreadsheet and make graphs; 1 hour of laboratory per week. Prerequisite: None

CIS 1080  Introduction to Spreadsheets & Database Management (2)    fall/spring
This course introduces students to the use of e-mail, Web Services database functions, and the Internet, as well as to the use of spreadsheets and databases. Spreadsheet topics include all functions necessary to build a spreadsheet and create graphs. Database topics include the fundamentals of computer database design and management; 2 hours of laboratory per week. Prerequisite: None

CIS 1120 Introduction to Information Technology (3)                                             fall
This course introduces students to the world of IST across a broad range of topics. Topics include history of computing in society, career paths in computing, and the use of computers in the workplace; 3 hours of lecture per week. Prerequisite: None

CIS 1151 Website Development (3)                                                   fall/spring/online
This course includes the introduction of web pages for commercial web sites including use of and design with hypertext markup language (HTML), text, and graphics; applying appropriate design, color, and art; size and placement of graphics, including image maps, in a web page; creation of advanced tables, including nested tables; creation of forms that contain advanced input types and attributes, text areas, and advanced lists; and use of a validation tool to debug an HTML document; 2 hours of lecture, 2 hours of laboratory per week. Prerequisite: None

CIS 1152  Advanced Website Development  (3)                                                 spring
Students learn intermediate skills and techniques used in webpage development. The major subject matter for this course includes server side scripting with PHP. Additional topics include applying formatting to text; creating documents that automatically display another page and that contain interactive Java Scripts; creation of and work with frames documents; examination of document styles and recommendations on improvements; HTML document creation/conversion tools; using XML to manage content; an introduction to database theory; and use of basic SQL programing; 2 hours of lecture, 2 hours of laboratory per week. Prerequisite: CIS 1151

CIS 2010  Computer Organization  (4)                                                                 spring
In this course, students gain a basic understanding of computer hardware. The students are introduced to binary data representation, pointers, and memory through the C language. This understanding expands to include the functioning of the CPU (including registers, ALU, and simple I/O) culminating in an introduction to assembly language; 3 hours of lecture, 2 hours of laboratory per week. Prerequisite: CIS 2271 or 2262

CIS 2022  C Programming for CPE (2)                                                                      fall
This course is an introduction to programming using C for students with programming experience in another language; 1 hour of lecture, 2 hours of laboratory per week. Prerequisite: CIS 2261

CIS 2025  C Programming  (4)                                                            fall/spring/online
This course teaches students to write programs using the C language. All fundamental features of C are covered, including arrays, functions, pointers, file I/O, string manipulation, and preprocessor directives. In addition, this course will emphasize good software design techniques, programming style, and documentation. No prior programming experience is required. This course is offered in both classroom and online versions. Sufficient internet skills and the permission of the instructor are required to take the course online; 3 hours of lecture, 3 hours of laboratory per week. Prerequisite: None

CIS 2151  Networks I  (4)                                                                                             fall
This course introduces the student to network protocols. The course covers physical, data link, network, transport, and application layer protocols. The TCP/IP protocol suite is discussed in detail. IPX/SPX is also discussed. Topics include Ethernet and token ring networks, connectionless protocols, connection-oriented protocols, and application protocols such as SMTP, NNTP, and HTTP. Students learn about both hardware and software troubleshooting tools, security issues, and current topics such as IPv6. The way network software is written, both on the server side and the client side, is also covered; 3 hours of lecture, 2 hours of laboratory per week. Prerequisite: CIS 2025, 2261, or 2271

CIS 2230  System Administration  (4)                                                                 spring
In this course the student explores the basics of system management. The course provides the student with enough theory to understand how operating systems work and to interpret the output of various management tools. It also covers practical issues in system administration including process, memory, and file system monitoring and performance tuning. Some topics in computer security are also discussed. Unix, Windows Server 2008, and Windows 7 are the specific systems currently studied; 3 hours of lecture, 2 hours of laboratory per week. Prerequisite: CIS 2025, 2261, or 2271

CIS 2235  Advanced System Administration (4)                                                spring
This course focuses on the tasks involved in managing information technology systems at the enterprise level. Topics covered include Active Directory and LDAP administration; router administration; security in a networked infrastructure; DNS, NIS, and DHCP administration; VPN and firewall integration ; and network management. A series of case study situations are presented and applied in a lab environment providing students with real-world experiences reinforcing the concepts covered during the lectures; 3 hours of lecture, 2 hours of laboratory per week. Prerequisite: CIS 2151 and 2230

CIS 2260  Object-Oriented Programming (3)                                                            fall
This course introduces students to the concepts of programming with abstract data types and object-oriented programming. It uses Java to cover classes, inheritance, and polymorphism. The course also builds on the prerequisites to provide students with more advanced exposure to software design, implementation, debugging, and documentation; 3 hours of lecture per week. Prerequisite: CIS 2025, or 2271

CIS 2261  Introduction to Java Programming I (4)                                                     fall
An introduction to programming using Java for students with little or no programming experience; 3 hours of lecture per week. Prerequisite: None

CIS 2262  Introduction to Java Programming II (2)                                                     spring
A continuation of CIS 2261, this course develops a more solid foundation for future programming; 3 hours of studio laboratory per week. Prerequisite: CIS 2261

CIS 2271  Java Programming  (4)                                                                               fall
This course will introduce the student to basic concepts of Java and Object Oriented Programming (OOP). The course begins with basic concepts of OOP. These include classes, objects, inheritance, polymorphism, and object oriented design. The course will then cover the language features of Java. The topics in this section are: program structure; statement and field types; operators; expressions; and control structures. The course then returns to OOP features of Java, focusing on object data types, strings, methods, classes, and constructors. The final section addresses graphical user interface (GUI). The topics are: applets, GUI components (e.g. buttons), event processing, and frames; 3 hours of lecture, 2 hours of laboratory per week. Prerequisite: None

CIS 2280  Perl Programming  (2)                                                                 as required
This course continues the student’s training in programming by introducing the use of the scripting language, Perl. Students are introduced to the Linux operating system. The basic concepts of programming are reviewed using Perl to demonstrate those concepts. Concepts unique to Perl, such as regular expression handling and hashes, are introduced. The emphasis in the course is on using Perl as a tool to get things done rather than only as a vehicle to explain how to program. Examples and assignments are drawn from topics related to system administration, web programming, and application programming; 2 hours of lecture per week. Prerequisite: CIS 2025, 2261, or 2271

CIS 2320  Software Quality Assurance and Testing  (3)                                         fall
Students are introduced to the concepts, techniques, and tools used for evaluating and ensuring the quality of computer software. Topics include dimensions and implications of quality, code reviews, test construction, test coverage metrics, partition testing, user interface testing, and current test support tools; 3 hours of lecture per week. Prerequisite: CIS 2010, 2271, or 2025

CIS 2411  Introduction to E-commerce  (3)                                                         spring
This class is an introductory e-commerce course wherein students learn the business aspects of building and managing e-commerce sites. Students will gain an understanding of tools, technologies, and concepts as well as the processes that comprise the technical infrastructure of e-commerce sites. They will be able to document thin architecture and solve problems with hardware, software, and site design; 2 hours of lecture, 2 hours of laboratory per week. Prerequisite: CIS 1151

CIS 2450  Advanced Web Technologies  (3)                                                as required
This course introduces the student to advanced use of web technologies, methods, and practices. The use of technologies such as PHP, XML, AJAX, and major web development frameworks are discussed and implemented in a laboratory environment; 2 hours of lecture, 2 hours of laboratory per week. Prerequisite: CIS 2151, 1152 and concurrent enrollment in CIS 2230

CIS 2610  Topics in Information Technology  (3)                                       as required
This course is an in-depth investigation of a topic or technology of current interest to the information technology infrastructure community; 2 hours of lecture, 2 hours of laboratory per week. Prerequisite: CIS 2151 and 2230 

CIS 2620  Topics in Software Engineering  (3)                                            as required
This course provides students with the opportunity to integrate the topics presented throughout the curriculum, as well as to explore additional specific topics that are relevant to the current state of the software engineering field. At the discretion of the instructor, students may work on a semester-long project, do library research, or develop a significant program or system. The precise content and nature of this course varies from year to year, depending on current industry needs; 2 hours of lecture, 2 hours of laboratory per week. Prerequisite: CIS 2025 or 2262 or 2271 

CIS 2720  Current Topics in Computer Engineering (3)                                   spring
This course provides students the opportunity to integrate the topics presented throughout the curriculum as well as to explore additional specific topics that are relevant to the current state of the field. Recent topics have included HTML authoring, Java, CGI scripting, Windows programming, X11/Qt programming, and databases. At the discretion of the instructor, students may work on a semester-long project, do library research, give an oral presentation, write a significant program, or build significant electrical hardware. The precise content and nature of this course varies from year to year, depending on current industry needs; 2 hours of lecture, 2 hours laboratory per week. Prerequisite: ELT 1080 and 2050, CIS 2151, concurrent enrollment in CIS 2230

CIS 2730  Software Engineering Projects  (3)                                              fall/spring
This capstone course involves the development of a group project. The development effort will be combined with an introduction to systems development and life cycle. Students will also receive an introduction to orally presenting technical information to a technical audience. Each group will present their project design and the final project; 2 hours of lecture and 2 hours of laboratory per week. Prerequisite: CIS 2025 and 2271

CIS 3010  Database Systems  (4)                                                                         spring
This course covers methods for designing relational databases, the use of SQL to define and access a database, and the use of production-level database management systems to implement a relational database system. Students are required to complete a project in which they either implement a real-world example relational database or, at the instructor’s discretion and approval, research a specific database topic not covered during class. Additional topics that may be discussed as time and class interest permit include: integrating databases into applications or web sites; alternative database paradigms; database design/engineering tools; and underlying implementation of databases; 3  hours of lecture, 2 hours of laboratory per week. Prerequisite: CIS 2230

CIS 3030  Programming Languages  (3)                                                                   fall
This course covers fundamental concepts in programming language design from the perspective of the practical programmer. Topics include the syntactic representation of programs, functional programming, static vs. dynamic programming languages, selected advanced object-oriented topics, and an introduction to the theory of computation as it applies to programming languages. Students will gin useful experience with at least two new languages (one chosen by the instructor and one chosen by the student); 3 hours of lecture per week. Prerequisite: CIS 3050

CIS 3050  Algorithms and Data Structures  (3)                                                        fall
This course focuses primarily on the implementation of various important algorithms and data structures. It contains some theory, but the theory content is minimized in favor of a more rigorous treatment of implementation techniques. The course covers classic topics such as lists, trees, hash tables, sorting, and string matching. It also covers selected other topics such as encryption, data compression, and image processing; 3 hours of lecture per week. Prerequisite: CIS 2260 or instructor permission

CIS 3080  Issues in Information Technology  (3)                                      as required
This course is an in-depth study of the uses of and issues related to computers and information systems in society. Topics explore the benefits and professional impact of continuing career preparation, career progression, and outreach to the community, ethical development, and ethical behavior. Controversies and alternative points of view are evaluated on issues such as professional ethics and professional responsibility. Students research and write extensively on course topics; 3 hours of lecture per week. Prerequisite: Junior standing

CIS 3152  Network Programming  (4)                                                                               spring
This course in networks has an emphasis on the upper layers of the OSI model and network programming. Topics include TCP/IP protocol behavior (including coverage of IPv6), client/server programming, and at least one application level protocol such as HTTP or SMTP/MIME. An introduction to character sets and XML is also presented. In addition, at least one remote procedure call system is covered; 3 hours of lecture, 2 hours of laboratory per week. Prerequisite:  CIS 2151 and CIS 2010 or 2025

CIS 3170  History of the Theory of Computation  (3)                                        fall/online
In this course, the history of computers and early calculators will be examined. Students will learn the principles of early computational devices and investigate how the concepts utilized in these devices are implemented in modern computers. Particular attention is focused on Boolean logic. Frege formula language, Turing machines, implications of Shannoan’s Limit, and Moore’s Law will be studied. The course is also offered online; 3 hours of lecture per week. For non-computer students  (General Education: SS) Prerequisite: Junior standing  

CIS 3210  Routing Concepts & Wide Area Networks  (4)                                       fall
This class is an introduction to wide area and local area routing concepts, methods, fundamentals of routing protocols, and packet forwarding. Routing protocols such as RIPv1, RIPv2, EIGRP, and OSPF are analyzed. Also discussed are distance vector and link state routing protocols and their implementation factors in an enterprise network environment. This course utilizes Cisco networking equipment and simulation tools for laboratory work and assignments; 3 hours of lecture, 2 hours of laboratory per week. Prerequisite: CIS 2151 and concurrent enrollment in CIS 2230

CIS 3250  Advanced Network Architectures  (4)                                                spring
This course teaches students how to implement, monitor, deploy, and maintain a network in a converged enterprise environment. Students will learn how to plan, configure, and verify the implementation of complex enterprise switching solutions. The course also covers the secure integration of VLANs, WLANs, voice, and video into networks. Comprehensive labs emphasize hands-on learning and practice to reinforce the skills learned in class; 3 hours of lecture, 2 hours of laboratory per week. Prerequisite: CIS 2151, 2230, and 3210

CIS 3310  Artificial Intelligence (3)                                                              as required
Students learn the algorithms and data structures used in artificial intelligence and to program a range of approaches that computers use to emulate intelligence, such as planning, knowledge representation, learning, decision-making, and game-playing; 3 hours of lecture per week. Prerequisites: CIS 2025 or 2271 and MAT 2120, 1420, or 1520

CIS 3311  Systems Development Engineering I (3)                                 as required
This course is an in-depth study of the systems development, deployment, and monitoring of an information technology system. All aspects of the systems development cycle are covered. This course covers the RFP/RFQ process, technology requirements, systems architecture, and systems engineering processes. The role of the project management and aspects of large-scale systems are also covered; 3 hours of lecture per week. Prerequisite: CIS 2151 

CIS 3312  Systems Development Engineering II (3)                                 as required
This course is an in-depth study of the systems development, deployment, and monitoring of a substantial information technology system. The course considers issues such as rolling versus big band deployments, transition periods, capacity planning, heterogeneous versus homogeneous environments, optimizing deployments, and monitoring tools for all forms of software and hardware information technology aspects of large-scale systems; 3 hours of lecture per week. Prerequisite: CIS 2151 and 3311

CIS 3610  Topics in Information Technology  (3)                                        as required
This course provides students with the opportunity to integrate the topics presented throughout the curriculum as well as to explore additional specific topics that are relevant to the current state of the information technology field. At the discretion of the instructor, students may work on a semester-long project, do library research, or develop a significant program or system. The precise content and nature of this course varies from year to year, depending on current industry needs; 2 hours of lecture, 2 hours of laboratory per week. Prerequisite: CIS 2235 and 4150 or CIS 3311 

CIS 3620  Topics in Software Engineering  (3)                                            as required
This course provides students with the opportunity to integrate the topics presented throughout the curriculum as well as to explore additional specific topics that are relevant to the current state of the software engineering field. At the discretion of the instructor, students may work on a semester-long project, do library research, or develop a significant program or system. The precise content and nature of this course varies from year to year, depending on current industry needs; 3 hours of lecture per week. Prerequisite: CIS 4150, 4120

CIS 4020  Operating Systems  (4)                                                                              fall
In this course, students study the internal workings of modern operating systems. Topics include multiprocessing, memory management, file systems, and device drivers. Distributed operating systems and real time operating systems are also discussed. As part of this course students write a kernal module and/or device driver for an operating system chosen by the instructor; 3 hours of lecture, 2 hours of laboratory per week. Prerequisite: CIS 2230 and 3050

CIS 4030  GUI Programming  (3)                                                                                fall
Modern Graphical User Interface (GUI) design and implementation methods are studied. The course uses Java as the base language. Industry standard libraries, such as Swing and Open GL, are used for programming coursework;  3  hours of lecture per week. Prerequisite: CIS 2025, 2262, 2271, or 3030

CIS 4040  Computer Security  (3)                                                                         spring
This course focuses on security issues associated with computers and computer networks. The course starts by covering cryptographic topics such as symmetric and public key systems, digital signatures, secure hashes, cryptographic random number generation, and message authentication codes. Network security topics are also covered including secure protocols (SSH, SSL, IPSec), network attack methods, network authentication protocols (for example, Kerberos), and firewalls. Finally, the course covers host security matters such as building secure software, auditing, and intrusion detection; 3 hours of lecture per week. Prerequisite:  CIS 2025, 2151, 2230 or 2262 or 2271

CIS 4050  Compiler Design  (3)                                                                    as required
This course investigates how languages are implemented and gives the student enough knowledge to build specialized “mini languages” for niche applications. Students will use compiler generation tools, such as Lex and Yacc, and will create some hand-built components. Although some theory is presented, the emphasis is on implementation (programming) rather than theorem-proving. Most programming is done in C, but other languages (C++, Java) are also used; 3 hours of lecture per week. Prerequisite: CIS 3030 and 3050

CIS 4120  Systems Analysis and Design  (3)                                                     spring
This course addresses the methodology used in gathering data, analyzing data, and determining user requirements for information processing using advanced systems analysis techniques and the associated techniques used in designing solutions that can then be programmed as application software for use on computer-based systems; 3 hours of lecture. Prerequisite: Junior standing in CIS or CPE and CIS 2260

CIS 4140  Human Computer Interaction (3)                                               as required
This course covers the design, implementation, and evaluation of user interfaces for computers and other modern, complex electronic equipment; 3 hours of lecture per week. Prerequisite: CIS 1152 and 2260

CIS 4150  Software Engineering  (3)                                                                          fall
This course is chiefly concerned with the application of engineering principles to the all-too-chaotic process of software development. The student will learn how the concepts of repeatability, modularity, traceability, maintainability, and reusability affect the architecture and design of software systems. The software life cycle and how it is supported by various methodologies will be explored, as well as the ramifications of differing team sizes to the selection of traditional versus agile methods. The student will be shown how documentation techniques, modeling languages, and CASE tools can be used to minimize miscommunications and ensure that the system desired is the system that is eventually built; 3 hours of lecture per week. Prerequisite: CIS 2025, 2262, or 2271 and junior standing

CIS 4210  Computer Graphics (3)                                                                as required
This course deals with computer generation of realistic images of 2- and 3- dimensional scenes. This course involves substantial computer programming; 3 hours of lecture per week. Prerequisite: MAT 1520 and concurrent enrollment in CIS 3050

CIS 4220 Physical Simulations (3)                                                              as required
This course combines numerical programming techniques with Newtonian physics and calculus to give the student an understanding of how physical systems can be simulated on a computer. Topics include the simulation of rigid bodies, soft bodies, fluids, and collision detection. This course emphasizes applications rather than mathematical theory and entails a significant amount of programming; 3 hours of lecture per week. Prerequisite: CIS 3050, MAT 2532, and PHY 1041

CIS 4230  Parallel Programming (3)                                                            as required
This course examines the applications, algorithms, construction, configuration, and performance of parallel programs. Topics include shared memory parallelism using POSIX threads and OpenMP and multi-machine parallelism using MPI. Parallel programming on modern GPU devices is also introduced; 3 hours of lecture per week. Prerequisite: CIS 2230 and 3050

CIS 4310  Computer Forensics  (3)                                                                  as required
This class is an introduction to digital forensic methods, practices, technology, and legal concerns. Students will consider issues of incident response and handling, data collection, chain of evidence, data analysis, cryptanalysis, steganography, and report writing; 3 hours of lecture per week. Prerequisite: CIS 2151 and 2235

CIS 4711  Project I  (2)                                                                                                  fall
This course is a largely self-directed senior project in which students demonstrate their mastery of the subjects covered in their program; 1 hour of lecture, 3 hours of laboratory per week. Prerequisite: Senior standing in a computer program [Course fee: $50]                       

CIS 4712  Project II  (3)                                                                                          spring
Completion and final presentation of the senior project begun in the fall. Regular progress reports and a formal presentation at term’s end are required. This presentation occurs in front of students, departmental faculty, and invited guests (including potential employers); 1 hour of lecture, 6 hours of laboratory per week. Prerequisite: CIS 4711 or 4721

CIS 4721  Information Systems Technology Senior Project I  (2)                          fall
This course is a largely self-directed senior project in which students demonstrate their mastery of the subjects covered in the BS.CSE or BS.CIT programs; 1 hours of lecture, 2 hours of laboratory per week. Prerequisite: Senior standing in the CSE or CIT programs

CIS 4722  Information Systems Technology Senior Project II  (3)                  spring
This course is the completion and final presentation of the senior project begun in the fall. Regular progress reports and a formal presentation at term’s end are required. This presentation occurs in front of students, departmental faculty, and invited guests (including potential employers); 1 hour of lecture, 4 hours of laboratory per week. Prerequisite: CIS 4711 or 4721

CIS 4730  Information Systems Technology Projects  (3)                      as required
This capstone course combines a major project with a review of systems development and life cycle including select human and organization behavior issues; a survey of information technology-associated literature focusing on the role of information sciences in society; the psychological underpinnings of design; experimental technologies; and future-looking science fiction. In addition to the significant project spanning at least the three stages of the life cycle, reflective activities include development barriers, use interaction, analyzing project performance, and planning for future issues; 1 hour of lecture, 3 hours of laboratory per week. Prerequisite: Senior standing in the CSE or CIS programs