CSIS

CSIS 201 Intro to Computer Science
3 hours. A foundational course for the study of computer science and information systems. The course covers an overview of programming methodology and gives the student an ability to write computer programs using standard style and structure. Programming projects are completed in one or more high-level languages. Prerequisite: high school algebra or equivalent. Additional course fee required.

CSIS 202 Intro to Computer Science II
3 hours. A foundational course for the study of computer science and information systems. The course covers an overview of programming methodology and gives the student an ability to write computer programs using standard style and structure. Programming projects are completed in one or more high-level languages. Prerequisite: CSIS 201 Introduction to Computer Science I or ENGR 152 Engineering Principles II. Additional course fee required.

CSIS 275 Field Experience
1 hour. Supervised experience with an off-campus industry, business, or institution, using computer science or data processing. Prerequisite: upper-division computer information science majors.

CSIS 285 Selected Topics
1-3 hours. A scheduled class with topics chosen to meet the special needs and interests of students, faculty, or visiting professors. Prerequisite: upper-division computer information science majors.

CSIS 295 Individualized Study
1-3 hours. Individualized study or supervised research in an area of special interest to the student which is outside the regular offerings of the major. Additional course fee (per credit) is required.

CSIS 300 Numerical Methods
3 hours. A study of numerical solutions of mathematical problems, including nonlinear equations, systems of linear equations, polynomial approximations, root finding, integration, and differential equations. Computer programs are written to solve these problems. (Identical to CSIS 300.) Prerequisites: MATH 311 Differential Equations with Linear Algebra and either CSIS 201 Introduction to Computer Science I or ENGR 152 Engineering Principles II.

CSIS 304 Web-Based Programming
3 hours. A computer programming course using web-based technologies. The emphasis of the course is placed on fundamental concepts of computer programming and application development through the creation of interactive Web applications. The course is designed for students who want to design and implement web-based applications. Additional course fee required.

CSIS 310 Data Structures
3 hours. An introduction to the concepts of information organization, methods of representing information both internally and externally. The course begins with basic structures (stacks, queues, linked lists, and trees) and moves through more complex data structures into the processing of files (sequential, relative, indexed sequential, and others). Programming projects are completed in one or more high-level languages. Additional course fee required. Prerequisites: CSIS 201 Introduction to Computer Science I and CSIS 202 Introduction to Computer Science II.

CSIS 312 Computer Security and Digital Forensics
3 hours. In a highly connected, data intensive, and cost-focused business environment, the practice of information security is not a business advantage; it is a customer requirement. Viruses, malware, trojans, denial of service attacks, phishing, and even Wiki leaks have become headline news. Failure to insure the confidentiality, integrity, and availability of data, costs companies millions, if not billions of dollars in legal settlements, lost business, and trade secrets. In this breadth-based course, you will get an overview of information security principles and practices, including security models, risk management, access controls, intrusion detection and prevention, cryptography, software vulnerabilities, and ethical issues. This class will also provide an overview of digital forensics. Students will learn techniques behind digital forensic investigations and evidence collection, and will cover the fundamental steps of the traditional computer forensic methodology. Topics will include building forensic workstations, collecting evidence, extracting artifacts, identifying unknown files and reassembling evidence from network packet captures and device images. Additional course fee required. Prerequisite: CSIS 202 Introduction to Computer Science II.

CSIS 314 Client-Server Systems
3 hours. This course provides an introduction to constructing complete information systems based on the client-server model. On the client side, we introduce graphical user-interfaces, their design and implementation, as well as commonly used tools such as database access clients, and report generators. On the server side, we introduce database management systems and the use of server-side programming tools that provide connectivity for clients and access to database systems. Along the way, students are introduced to the basics of distributed computing and computer networks. Additional course fee required. Prerequisite: CSIS 202 Introduction to Computer Science II.

CSIS 321 Software Engineering
3 hours. An introduction to the strategies used in producing quality software. The life cycle of software development is presented and utilized. Larger projects are undertaken by teams of students in the initial phases. Additional course fee required. Prerequisite: CSIS 202 Introduction to Computer Science II.

CSIS 330 Human-Computer Interactions (HCl)
3 hours. Course is an introduction to the principles and methods with which one builds effective interfaces for users. A basic precept of HCI is that users should be able to focus on solving problems, rather than dealing with the intricacies of complex software. Interfaces must be accessible, meaningful, visually consistent, comprehensive, accurate, and oriented around the tasks that users tend to perform. The course will provide a balance of practical and theoretical knowledge, giving students experience ordinarily not provided by other courses in computer science. Students will also participate in group-projects to design, implement, and evaluate user interfaces. Additional course fee required. Prerequisite: CSIS 201 Intro to Computer Science I.

CSIS 340 Database Systems
3 hours. A study of the organization of database systems for information storage, retrieval, and security. Examples of hierarchic, network, and relational-based systems are presented. Additional course fee required. Prerequisite: CSIS 310 Data Structures and File Processing.

CSIS 350 Data Communications and Networks
3 hours. An introduction to the field of communications among computers and computer systems, with an emphasis placed on LANS (Local Area Network Systems) and the OSI model. Students will experience the installation of one or more network systems. Additional course fee required. Prerequisite: CSIS 202 Introduction to Computer Science II.

CSIS 360 Computer Architecture and Assembly Language
3 hours. An introduction to digital computer hardware architecture and organization. Topics include digital logic, processor design, instruction sets, and system architecture. Programs written in assembly language will be used to gain hands-on experience with the underlying system architecture. Additional course fee required. Prerequisite: CSIS 310 Data Structures and File Processing.

CSIS 370 Object-Oriented Analysis & Design
3 hours. This course covers the fundamental concepts of object-oriented programming languages, including data abstraction and typing, class inheritance and generic types, prototypes and delegation, concurrency control and distribution, object-oriented databases, and implementation. Object-oriented solutions will be developed in one or more high-level languages. Additional course fee required. Prerequisite: CSIS 310 Data Structures

CSIS 390 Emerging Mobile Technologies
3 hours. As more communications are conducted via mobile and cellular technologies, these technologies have become critical to both industry and private life. This course covers how data is processed and transmitted using mobile and wireless devices. Sample topics include but are not limited to: an overview of smart phone technologies, embedded operating systems, wireless and mobile specific protocols, mobile identifiers, location based services, Internet of Things, drone technologies and more. Prerequisites: CSIS 350 Data Communications and Networks and CSIS 460 Operating Systems

CSIS 399 Cross-Cultural Experience
3 hours. This course offers in-depth discipline specific cross-cultural study designed to enhance the intercultural emphasis of various academic majors. The course includes class meetings followed by travel to various locations throughout the world. Students will use core disciplinary knowledge to serve, learn and interact with other cultures. (Offered in May Term. Students must meet eligibility requirements.) Additional course fee is required.

CSIS 413 Advanced Security
3 hours. This course would cover a number of advanced topics such as cellular and mobile technologies and their security, system vulnerabilities and penetration testing of corporate networks/systems, risk management of information systems, and other current topics. Students will also be introduced to both international and U.S. cyber laws including reporting compliance. Prerequisite: CSIS 312 Computer Security & Digital Forensics

CSIS 420 Structures of Programming Languages
3 hours. A study of the basic design of computer programming languages, with the greater emphasis placed on semantics (over syntax). A comparative analysis is made among several of the common languages. Additional course fee required. Prerequisite: CSIS 310 Data Structures and File Processing.

CSIS 430 Analysis of Algorithms
3 hours. An introduction to the design and analysis of algorithms. The course covers the fundamentals of analyzing algorithms for correctness and time and space bounds. Topics include advanced sorting and searching methods, graph algorithms, geometric algorithms, matrix manipulations, string and pattern matching, set algorithms, and polynomial computations. Additional course fee required. Prerequisite: CSIS 310 Data Structures and File Processing.

CSIS 434 Parallel & Distributed Computing
3 hours. A theoretical and practical survey of parallel processing, including a discussion of parallel architectures, parallel programming languages, and parallel algorithms. Students will program one or more parallel computers in a higher-level parallel language. Additional course fee required. Prerequisite: CSIS 310 Data Structures

CSIS 440 Artificial Intelligence (AI)
3 hours. This course introduces the student to the basic concepts and techniques of artificial intelligence, knowledge representation, problem solving, and AI search techniques. AI solutions will be developed in an appropriate AI language. Additional course fee required. Prerequisite: CSIS 310 Data Structures and File Processing.

CSIS 450 Network Administration
3 hours. This course introduces the student to system administration of a LAN. Topics covered include adding and removing users; monitoring and controlling processes; adding, removing, and managing groups; mounting and unmounting filesystems; monitoring and troubleshooting a TCP/IP network; managing and controlling network and system security; and administration of network file systems. Prerequisite: CSIS 350 Data Communications and Networks. Additional course fee required.

CSIS 451 Cyber Defense
4 hours. This course introduces students to the concepts of defense in-depth, a security industry best practice. Topics include firewalls, backup systems, redundant systems, disaster recovery, and incident handling. Upon completion, students should be able to plan effective information security defenses, backup systems, and disaster recovery procedures. This course requires a lab component that provides practical experience working with current technologies for defense. Prerequisites: CSIS 413 Advanced Security and CSIS 450 Network Administration

CSIS 460 Operating Systems
3 hours. A study of the organization and architecture of computer systems. The major principles of operating systems are presented, along with case studies involving actual operating systems. Additional course fee required. Prerequisite: CSIS 310 Data Structures and File Processing.

CSIS 473 Secure Software
3 hours. Many security problems in software occur when software developers make poor implementation decisions or unwittingly introduce bugs into their code. This course will focus on many of the classic flaws in systems that can lead to security problems including: buffer overflows, format string problems, race conditions, memory leaks, etc. It will also cover many web-application specific topics such as SQL injection attacks and cross-site scripting (XSS) attacks. Prerequisite: ENGE 320 Microprocessor Architecture.

CSIS 475 Field Experience
1-3 hours. Supervised experience with an off-campus industry, business, or institution, using computer science or data processing. Pass/No Pass. Prerequisite: upper-division computer information science majors.

CSIS 480 Principles of Compiler Design
3 hours. This course introduces the student to the basics of building a compiler using a multiphase translation process. It covers lexical analysis, parsing, and translation to abstract syntax using modern parser generator technology. It discusses binding of identifiers and symbol table organization, and a variety of intermediate representations that are suitable for backend analysis. Other topics include type checking, attribute grammar representations, and printing from abstract syntax. Additional course fee required. Prerequisite: CSIS 310 Data Structures and File Processing. (CSIS 420 Structures of Programming Languages preferred.)

CSIS 485 Selected Topics
3 hours. A scheduled class with topics chosen to meet the special needs and interests of students, faculty, or visiting professors. Prerequisite: Upper-division Computer Science majors.

CSIS 490 Applied Software Development
1-3 hours. Special software development projects designed and completed by the student in an area that applies computers. This is an independent-study course and is supervised by staff in both the computer area as well as in the selected area of study. Prerequisite: upper-division computer information science majors and by permission.

CSIS 495 Individualized Study
1-3 hours. Individualized study or supervised research in an area of special interest to the student which is outside the regular offerings of the major. Additional course fee (per credit) is required.