200
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.
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.
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).
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.
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.
Notes
Additional course fee.
Nursing Major
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.
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.
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.
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.
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.
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.
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.