200

CSC 204 Software Architecture and Patterns

Provides an understanding of fundamental software architecture concepts, standards, drivers, styles, and design specification tenets including design patterns. Develop an understanding of UML method notations and tools to document architectures, and use of tradeoff methodologies (e.g., QAW, ATAM) to evaluate an architecture. Present tenets of technical and ethical debt. Throughout the course students will implement a core set of software design patterns using language of choice.  

3

Prerequisites

Sophomore Standing and CSC 144 or CSC 171

Cross Listed Courses

SFE 204

CSC 205 Bioinformatics Programming

Studies the use of scripting languages and software tools for work in bioinformatics. Emphasis will be on data manipulation, file input and output, FASTA files, regular expressions and pattern matching, databases, and web programming.

3

Prerequisites

CSC 141, CSC 144, CSC 171 or CSC 280

CSC 210 Bioinformatics Algorithms

Studies the fundamental algorithms used in bioinformatics. Attention will be paid to specific algorithms (e.g. for measuring DNA similarity and for constructing phylogenic trees), to algorithm design methods (e.g. exact vs. heuristic methods, and dynamic programing) as well as to the computational costs of the various algorithms (Big-O notation, and the difference between polynomial and exponential time algorithms).

3

Prerequisites

CSC 141, CSC 144, CSC 171 or CSC 280

CSC 230 Data Methods in Natural Sciences

This course serves as an introduction to statistical analysis and programming with applications in the natural sciences. Topics include data entry, basic programming, statistical tests such as the t-test, ANOVA, the analysis of survey data, data visualization. Emphasis will be placed on how to select the right tool, use it competently, and interpret the results. 

3

Prerequisites

MTH 204 or PSY 204, ECO 212, or MTH 401

CSC 231 Nursing Informatics

Introduces students to the use of computers in the nursing profession.  Topics include computer fluency in office technology, electronic medical record systems, healthcare and nursing informatics, healthcare documentation, and new technologies.

3

Notes

Additional course fee.

Prerequisites

Nursing Major

CSC 255 Computers and Instructional Technology II

Further prepares student educators for the effective use of computers and technology in the classroom. Through this course, students will learn the basic skills needed to evaluate, design, produce, and utilize multimedia products in educational, organizational, and communications environments.

3

Prerequisites

CSC 155, Education majors only

CSC 256 Networking/Telecommunications

Introduces students to the fundamentals of network and data communication technologies. Course topics include telecommunication media and equipment; data transmission and protocols; corporate, local, and wide area networks; intranets and internets; and network software and management. An introduction to electromagnetic concepts and principles is included to provide a technical foundation for these concepts.

3

Prerequisites

CSC 141 or CSC 144 or sophomore standing

CSC 261 Database and Information Processing Systems

Studies the design and the implementation querying of a database. The focus is on the development of effective SQL queries and the use of relational databases. Other database types and technologies will be discussed. 

3

Prerequisites

CSC 141, CSC 171 or CSC 144

Cross Listed Courses

SFE 261

CSC 265 Intro to AI/ML Programming 

Artificial Intelligence (AI) seeks to replicate the mechanisms underlying thought and intelligent behavior, with a particular focus on their embodiment in machines. Core topics include the design of AI systems for search, probabilistic reasoning, planning, and machine learning, with an emphasis on human oversight in ensuring ethical and effective applications. The course introduces Machine Learning libraries in Python as well as basic AI/ML concepts and algorithms and explores how to apply them in the construction of systems that leverage machine learning within complex environments. 

3

Prerequisites

MTH 204 or equivalent, MTH 172, SFE 128

CSC 271 Structured Systems Analysis

Studies the system development cycle with emphasis on techniques and tools, system documentation, data flow diagrams, system testing, and implementation. Students are expected to suggest, design, and implement a specific application system.

3

Prerequisites

CSC 171 or CSC 144

CSC 276 Intro to Distributed and Cloud Computing

Provides an overview of Cloud Computing, its enabling technologies, main building blocks, and hands-on experience through projects utilizing public cloud infrastructures such as Amazon Web Services (AWS) or Microsoft Azure). The course will introduce cloud infrastructures, virtualization, software defined networks and storage, cloud storage, and programming models.  Students will learn about different cloud storage concepts including data distribution, durability, consistency and redundancy, distributed file systems, NoSQL databases and object storage. Includes use of distributed programming models including message queues and stream processing.    

3

Prerequisites

SFE 128 and (SFE 240 or CSC 256)

CSC 280 Numerical Computing

Introduces procedural programming techniques using a procedural programming language such as C, FORTRAN or other appropriate language. Emphasis is placed on the analysis and design of numerical algorithms, which are useful in business and science. Other topics include file processing and parallel processing. 

3

Corequisites

MTH 161