CIS 1030 Introduction to Computers (3) as required
Students will become familiar with the Windows operating system, the applications that comprise the Mi- crosoft 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 data- base 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. The online section has 3 hours of online lecture per week only without a lab. Prerequisite: None
CIS 1152 Advanced Website Development (3) spring
Students learn intermediate skills and techniques used in web page development. The major subject mat- ter 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 introduc- tion to assembly language; 3 hours of lecture, 2 hours of laboratory per week. Prerequisite: A grade of C- or better in CIS 2025, 2262, or 2271
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 documen- tation. 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) spring
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. Topics in- clude Ethernet, connectionless protocols, connection-oriented protocols, and application protocols such as SMTP and HTTP. Students learn about both hardware and software troubleshooting tools, security issues, and current topics such as IPv6; 3 hours of lecture, 2 hours of laboratory per week. Prerequisite: CIS 2025; a grade of C- or better in CIS 2262 or 2271
CIS 2230 System Administration (4) fall
This course explores the basics of computer system administration with a focus on the servers used in large and small businesses and the cloud. 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. Topics include: scripting; file commands; text commands; piping and filtering; file permissions; security; remove access protocols; and resource monitoring; 3 hours of lecture, 2 hours of laboratory per week. Prerequisite: CIS 2025; a grade of C- or better in CIS 2262 or 2271
CIS 2235 Advanced System Administration (4) spring This course develops the skills for setting up UNIX servers for commercial deployment. The first half of the course covers the advanced skills required for creating and maintaining a robust UNIX server. Topics include scripting, code control, partitioning, hardening, backup strategies, file systems, file sharing proto- cols, job scheduling, encryption, and virtualization. The second half covers installation and configuration of typical services including file, web, mail, and print; 3 hours of lecture, 2 hours of laboratory per week.
Prerequisite: CIS 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, imple- mentation, debugging, and documentation; 3 hours of lecture per week. Prerequisite: CIS 2025; a grade of C- or better in CIS 2262 or 2271
CIS 2261 Introduction to Java Programming I (4) fall This course is the first of a two-semester series. It introduces the basic concepts and techniques of Java, including object-oriented programming (OOP). Essential topics include program structure; primitive and String data types; operators; expressions; control structures; static methods (including an introduction to recursion); exception handling; use of library packages; and top-down design. OOP concepts include classes and objects; instance methods and constructors; inheritance; polymorphism; and an introduction to object-oriented design. Time permitting, the course may cover the basics of graphical user interface (GUI) construction; 3 hours of lecture per week. Prerequisite: None
CIS 2262 Introduction to Java Programming II (3) spring A continuation of CIS 2261, this course develops a more solid foundation for future programming; 3 hours of lecture per week. Prerequisite: CIS 2261
CIS 2271 Java Programming (4) fall
This course introduces the basic concepts and techniques of Java, including object-oriented program- ming (OOP). Essential topics include program structure; primitive and String data types; operators; ex- pressions; control structures; static methods (including an introduction to recursion); exception handling; use of library packages; and top-down design. OOP concepts include classes and objects; instance meth- ods and constructors; inheritance; polymorphism; and an introduction to object-oriented design. Time permitting, the course may cover the basics of graphical user interface (GUI) construction; 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 lan- guage, 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 expres- sion 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; a grade of C- or better in CIS 2262 or 2271
CIS 2320 Software Quality Assurance & 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 or 2025 or a grade of C- or better in CIS 2262 or 2271 CIS 2411 Introduction to E-commerce (3) online/spring
In this course, students will examine critical information technologies that provide the basis for electronic commerce and its application in a variety of sectors and industries. It will begin with coverage of the tools, skills, and business concepts that surround the emergence of electronic commerce and the conse- quences of applying this information and these technologies to different commercial processes from both an operational and strategic perspective. The course then explores several of the problems surrounding electronic commerce such as security, privacy, content selection, and rating, as well as intellectual prop- erty rights, authentication, encryption, acceptable use policies, and legal liabilities; 3 hours of lecture per week. Prerequisite: None
CIS 2450 Advanced Web Technologies (3) online/fall
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. Prereq- uisite: CIS 2151, 1152, 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, 2230
CIS 2620 Topics in Software Engineering (3) as required
This course provides students with the opportunity to integrate the topics presented throughout the cur- riculum, 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; a grade of C- or better in CIS 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 program- ming, 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) spring
This capstone course involves the development of a group project. The development effort will be com- bined with an introduction to systems development and life cycle. Students will also receive an introduc- tion 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 2230, a grade of C- or better in CIS 2262 or CIS 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 introduc- tion to the theory of computation as it applies to programming languages. Students will gin useful experi- ence 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 re- sponsibility. Students research and write extensively on course topics; 3 hours of lecture per week. Pre- requisite: 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 program- ming. 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) 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 lan- guage, State machines, and Turing machines; 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 implementa- tion 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 215, 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 com- plex 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 re- inforce the skills learned in class; 3 hours of lecture, 2 hours of laboratory per week. Prerequisite: CIS 2151, 2230, 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 a grade of C- or better in CIS 2262 or 2271; MAT 2120 or1420 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 in- formation 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 deploy- ments, transition periods, capacity planning, heterogeneous versus homogeneous environments, opti- mizing 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, 3311
CIS 3610 Topics in Information Technology (3) as required
This course provides students with the opportunity to integrate the topics presented throughout the cur- riculum as well as to explore additional specific topics that are relevant to the current state of the informa- tion 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 cur- riculum 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 4120, 4150
CIS 4020 Operating Systems (4) fall
In this course, students study the internal workings of modern operating systems. Topics include multipro- cessing, 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, 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