CSIS Course Descriptions
Table of Contents
- CSIS 201 Introduction to Computer Science I
- CSIS 202 Introduction to Computer Science II
- CSIS 275 Field Experience
- CSIS 285 Selected Topics
- CSIS 295 Individualized Study
- CSIS 300 Numerical Methods
- CSIS 304 Web-Based Programming
- CSIS 310 Data Structures
- CSIS 312 Computer Security and Digital Forensics
- CSIS 314 Client-Server Systems
- CSIS 321 Software Engineering
- CSIS 330 Human-Computer Interactions (HCl)
- CSIS 340 Database Systems
- CSIS 344 Introduction to Data Science
- CSIS 350 Data Communications and Networks
- CSIS 360 Computer Architecture and Assembly Language
- CSIS 370 Object-Oriented Analysis and Design
- CSIS 390 Emerging Mobile Technologies
- CSIS 399 Cross-Cultural Experience
- CSIS 413 Ethical Hacking
- CSIS 420 Structures of Programming Languages
- CSIS 430 Analysis of Algorithms
- CSIS 434 Parallel and Distributed Computing
- CSIS 440 Artificial Intelligence
- CSIS 441 Machine Learning and Computational Modeling
- CSIS 450 Network Administration
- CSIS 451 Cyber Defense
- CSIS 460 Operating Systems
- CSIS 473 Secure Software
- CSIS 475 Field Experience
- CSIS 480 Principles of Compiler Design
- CSIS 485 Selected Topics
- CSIS 490 Applied Software Development
- CSIS 495 Individualized Study
CSIS 201 Introduction to Computer Science I
3 credit 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. Additional course fee is required. Prerequisite: High school algebra or equivalent.
CSIS 202 Introduction to Computer Science II
3 credit 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. Additional course fee is required. Prerequisite: CSIS 201 Introduction to Computer Science I or ENGR 152 Engineering Principles II.
CSIS 275 Field Experience
1 credit 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 credit hour
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 credit hour
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 credit 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. (CSIS 300 and MATH 312 are identical courses.) 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 credit 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 is required.
CSIS 310 Data Structures
3 credit hours
An introduction to the concepts of information organization and manipulation. The course covers basic sequential structures such as array-backed lists, singly- and doubly-linked lists, stacks, and queues, and moves on to more complex data structures such as trees, graphs, priority queues, and dictionaries. Programming projects are completed in one or more high-level languages. Additional course fee is 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 credit 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 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. The course provides a broad overview of information security principles and practices, including security models, risk management, access controls, intrusion detection and prevention, cryptography, software vulnerabilities, and ethical issues. The course also provides 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, including building forensic workstations, collecting evidence, extracting artifacts, identifying unknown files and reassembling evidence from network packet captures and device images. Additional course fee is required. Prerequisite: CSIS 202 Introduction to Computer Science II.
CSIS 314 Client-Server Systems
3 credit 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 is required. Prerequisite: CSIS 202 Introduction to Computer Science II.
CSIS 321 Software Engineering
3 credit hours
An introduction to the formal processes and industry-standard tools used in producing quality software. The entire life cycle of software development is presented and utilized. Students work in teams to specify, design, implement, test, release, and maintain a non-trivial software project using a modern software development methodology. Additional course fee required. Prerequisite: CSIS 202 Introduction to Computer Science II.
CSIS 330 Human-Computer Interactions (HCl)
3 credit hours
An introduction to the principles and methods used to design effective interfaces for users. A basic precept of human-computer interactions (HCI) is that users should be enabled to focus on achieving their goals, rather than forced to deal with the intricacies of complex software and features. The course provides an overview of human perception and cognition with respect to hardware and software interfaces, and emphasizes a human-centered design approach to crafting goal-oriented interfaces based on detailed personae development, comprehensive user stories, storyboarding, design sketches, and low- and high-fidelity functional prototypes. Students will apply principles learned in the course to design, construct, and evaluate various types of interfaces. The course provides a balance of theoretical and applied knowledge in an oft-neglected aspect of software development, giving students experience not typically provided by other courses in computer science. Additional course fee is required. Prerequisite: CSIS 201 Introduction to Computer Science I.
CSIS 340 Database Systems
3 credit hours
A study of the organization of database systems for information storage, retrieval, performance, and security. Examples of hierarchic, network, and relational-based systems are presented. Additional course fee is required. Prerequisite: CSIS 310 Data Structures.
CSIS 344 Introduction to Data Science
3 credit hours
An introduction to foundational concepts in data science, including: information retrieval and storage, preprocessing, visualization, exploratory data analysis, applied machine learning, research methods, and experimental design. Students will develop solutions to computational problems spanning a variety of disciplines using state-of-the-art scientific programming tools and techniques, with an emphasis on the interpretation and presentation of experimental results. Additional course fee required. Prerequisite: CSIS 201 Introduction to Computer Science I or by instructor permission.
CSIS 350 Data Communications and Networks
3 credit hours
An introduction to the field of communications among computers and computer systems, with an emphasis placed on local area network (LAN) systems and the OSI model. Students will experience the installation of one or more network systems. Additional course fee is required. Prerequisite: CSIS 202 Introduction to Computer Science II.
CSIS 360 Computer Architecture and Assembly Language
3 credit 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 is required. Prerequisite: CSIS 310 Data Structures.
CSIS 370 Object-Oriented Analysis and Design
3 credit hours
A study of the fundamental concepts of object-oriented programming, including data abstraction and typing, encapsulation, single and multiple inheritance, substitutability, static and dynamic polymorphism, generics, interfaces, and design patterns. Object-oriented solutions will be designed using UML class and sequence diagrams and implemented in one or more high-level languages. Additional course fee is required. Prerequisite: CSIS 310 Data Structures.
CSIS 390 Emerging Mobile Technologies
3 credit hours
As more communications are conducted via mobile and cellular technologies, these technologies have become critical to both industry and private life. The 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. Additional course fee is required. Prerequisites: CSIS 310 Data Structures and CSIS 312 Computer Security and Digital Forensics.
CSIS 399 Cross-Cultural Experience
3 credit 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 Ethical Hacking
3 credit hours
A study of 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. Additional course fee is required. Prerequisite: CSIS 473 Secure Software.
CSIS 420 Structures of Programming Languages
3 credit 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 is required. Prerequisite: CSIS 310 Data Structures.
CSIS 430 Analysis of Algorithms
3 credit 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 is required. Prerequisite: CSIS 310 Data Structures.
CSIS 434 Parallel and Distributed Computing
3 credit 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 is required. Prerequisite: CSIS 310 Data Structures. (CSIS 460 Operating Systems preferred.)
CSIS 440 Artificial Intelligence
3 credit hours
An introduction to the basic concepts and techniques of artificial intelligence (AI), knowledge representation, reasoning and problem solving, AI search techniques, and moral and ethical considerations related to the use of AI-based systems. AI solutions will be developed in an appropriate AI language. Additional course fee is required. Prerequisite: CSIS 310 Data Structures. (CSIS 430 Analysis of Algorithms preferred.)
CSIS 441 Machine Learning and Computational Modeling
3 credit hours
An introduction to machine learning with application. The course covers the fundamentals of classification and regression, as well as the methodology behind the design and implementation of various models. Students will be introduced to a variety of topics including parameter estimation, model training/fitting, goodness of fit, generalization, regularization, inference, and objective and loss functions. Along the way, students will use practical tools for building machine learning and statistical models, and will be exposed to applications of machine learning and statistical models and related mathematics. Additional course fee required. Prerequisites: CSIS 310 Data Structures and CSIS 344 Introduction to Data Science, and either MATH 240 Statistical Procedures, MATH 330 Engineering Statistics, or MATH 332 Mathematical Statistics.
CSIS 450 Network Administration
3 credit hours
An introduction to system administration of a local area network (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. Additional course fee is required. Prerequisite: CSIS 350 Data Communications and Networks.
CSIS 451 Cyber Defense
4 credit hours
An introduction 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. The course requires a lab component that provides practical experience working with current technologies for defense. Additional course fee is required. Prerequisites: CSIS 413 Ethical Hacking and CSIS 450 Network Administration.
CSIS 460 Operating Systems
3 credit 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 is required. Prerequisite: CSIS 310 Data Structures.
CSIS 473 Secure Software
3 credit hours
Many security problems in software occur when software developers make poor implementation decisions or unwittingly introduce bugs into their code. The course focuses 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 also covers many web-application specific topics such as SQL injection attacks and cross-site scripting (XSS) attacks. Additional course fee is required. Prerequisite: CSIS 360 Computer Architecture and Assembly Language.
CSIS 475 Field Experience
1-3 credit hour
Supervised experience with an off-campus industry, business, or institution, using computer science, software engineering, data analysis, or other related skills in a professional environment. The student must clearly identify and complete approved academic deliverables as part of a successful field experience to earn credit. Pass/No Pass. Prerequisite: Upper-division computer science majors and by permission.
CSIS 480 Principles of Compiler Design
3 credit hours
An introduction 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 is required. Prerequisite: CSIS 310 Data Structures. (CSIS 420 Structures of Programming Languages preferred.)
CSIS 485 Selected Topics
3 credit 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 credit hour
Special software development projects designed and completed by the student in an area that applies computer software, systems, or related technology. The course is an independent study course and is supervised by staff in both the computer science discipline as well as in the selected area of study. Prerequisite: Upper-division computer science majors and by permission.
CSIS 495 Individualized Study
1-3 credit hour
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.