Undergraduate
CSCI 1010
Introduction to Computer Science: PrinciplesA broad survey of the computer science discipline, focusing on the computer's role in representing, storing manipulating, organizing and communicating information. Topics include hardware, software, algorithms, operating systems, networks.
Prerequisite(s): None
More information
CSCI 1020
Introduction to Computer Science: BioinformaticsAn introduction to computer programming motivated by the analysis of biological data sets and the modeling of biological systems. Computing concepts to include data representation, control structures, text processing, input and output. Applications to include the representation and analysis of protein and genetic sequences, and the use of available biological data sets.
Prerequisite(s): None
More information
CSCI 1030
Introduction to Computer Science: Game DesignIntroduces the design of computer and video games. Students learn the practical aspects of game implementation using computer game engines and 3D graphics tools, while simultaneously studying game concepts like history, genres, storylines, gameplay elements and challenges, and the design process.
Prerequisite(s): None
More information
CSCI 1040
Introduction to Computer Science: Mobile ComputingAn introduction to programming based on the development of apps for mobile devices such as phones and tablets. Students will learn to design an effective user interface, to interact with device hardware and sensors, to store data locally and access Internet resources.
Prerequisite(s): None
More information
CSCI 1050
Introduction to Computer Science: MultimediaAn introduction to computer programming, motivated by the creation and manipulation of images, animations, and audio. Traditional software development concepts, such as data representation and control flow, are introduced for the purpose of image processing, data visualization, and the synthesis and editing of audio.
Prerequisite(s): None
More information
CSCI 1060
Introduction to Computer Science: Scientific ProgrammingElementary computer programming concepts with an emphasis on problem solving and applications to scientific and engineering applications. Topics include data acquisition and analysis, simulation and scientific visualization.
Prerequisite(s): MATH 1510 or concurrent enrollment
More information
CSCI 1070
Introduction to Computer Science: Taming Big DataAn introduction to data science and machine learning. Fundamentals of data representation and analysis will be covered, with a focus on real-world applications to business intelligence, natural language processing, and social network analysis.
Prerequisite(s): None
More information
CSCI 1080
Introduction to Computer Science: World Wide WebAn introduction to the technology of the web, from the structure of the Internet (web science) to the design of dynamic web pages (web development). The web science component of the class introduces notions of the web as an example of a network and use the tools of graph theory to better understand the web. The web development component introduces some of the fundamental languages and tools for web programming.
Prerequisite(s): None
More information
CSCI 1090
Introduction to Computer Science: Special Topicsvaries
Prerequisite(s): None
More information
CSCI 1300
Introduction to Object-Oriented ProgrammingAn introduction to computer programming based upon early coverage of object-oriented principles such as classes, methods, inheritance and polymorphism, together with treatment of traditional flow of control structures. Good software development practices will also be established, including issues of design, documentation, and testing.
Prerequisite(s): MATH 1200 and C- or better in one of CSCI 1010 through CSCI 1090 or equivalent programming experience with permission
More information
CSCI 1930
Special Topicsvaries
More information
CSCI 1980
Independent StudyMore information
CSCI 2040
Unix ToolsAn introduction to programming on the Unix command line, including a thorough grounding in regular expressions, programming with pipes and filters, parsing structured and semi-structured file formats, and web scraping.
More information
CSCI 2050 / PHIL 3410
Computer EthicsThis course examines the moral, legal, and social issues raised by computers and electronic information technologies for different stakeholder groups (professionals, users, business, etc.). Students are expected to integrate moral theories and social analysis for addressing such issues as intellectual property, security, privacy, discrimination, globalization, and community.
Prerequisite(s): PHIL 2050
More information
CSCI 2100
Data StructuresThe design, implementation and use of data structures. Principles of abstraction, encapsulation and modularity to guide in the creation of robust, adaptable, reusable and efficient structures. Specific data types to include stacks, queues, dictionaries, trees and graphs.
Prerequisite(s): C- or better in CSCI 1300; passing grade or concurrent enrollment in MATH 1660
More information
CSCI 2190
Computational Problem SolvingIntended primarily to train students for the International Collegiate Programming Contest (ICPC), this course covers data structures, algorithms, and programming techniques that apply to typical programming challenges.
Prerequisite(s): CSCI 2100
More information
CSCI 2300
Object-Oriented Software DesignAn implementation-based study of object-oriented software development. Teams will design and create medium-scale applications. Additional focus on the design and use of large object-oriented libraries, as well as social and professional issues.
Prerequisite(s): C- or better in CSCI 2100
More information
CSCI 2400 / ECE 3217
Computer ArchitectureIntroduction to the organization and architecture of computer systems, including aspects of digital logic, data representation, assembly level organization, memory systems and processor architectures.
Prerequisite(s): CSCI 1300 and MATH 1660
More information
CSCI 2500
Computer Organization and SystemsAn introduction to computer systems, from hardware to operating systems. Topics include computer architecture, instruction sets, data representation, memory systems, and how the operating system manages processes and user applications.
Prerequisite(s): CSCI 2100 or concurrent enrollment
More information
CSCI 2510
Principles of Computing SystemsAn exploration of computing systems with a strong emphasis on how systems interact with each other. Topics will include concurrent and parallel programming, network communication, and computer security. In addition to foundational knowledge, the course includes simulating, benchmarking, and testing such systems.
Prerequisite(s): CSCI 2500
More information
CSCI 2930
Special Topicsvaries
More information
CSCI 2980
Independent StudyMore information
CSCI 3100
AlgorithmsIntroduction to analysis and complexity of algorithms. Big-O notation. Running time analysis of algorithms for traversing graphs and trees, searching and sorting. Recursive versus iterative algorithms. Complexity, completeness, computability.
Prerequisite(s): CSCI 2100, MATH 1660, MATH 1510
More information
CSCI 3200
Programming LanguagesOverview of programming languages: procedural and functional languages. Exposure to functional languages. Analysis of solution strategies to variable binding and function calls. Problem solving paradigms and linguistic issues.
Prerequisite(s): CSCI 2300
More information
CSCI 3250
CompilersIntroduction to the theory and techniques of compiler design, lexical analysis, finite state automata, context-free grammars, top-down and bottom-up parsing, syntax analysis, code generation. Other important issues such as optimization, type-checking, and garbage collection will be discussed.
Prerequisite(s): CSCI 2100 and CSCI 2400 / ECE 3217
More information
CSCI 3300
Software EngineeringTheory and practice of software engineering. Design and implementation of software systems. Levels of abstraction as a technique in program design. Organized around major group programming projects.
Prerequisite(s): CSCI 2300
More information
CSCI 3450 / ECE 3225
MicroprocessorsMicroprocessors/microcomputer structure, input/output. Signals and devices. Computer arithmetic, programming, interfacing and data acquisition.
Prerequisite(s): CSCI 1060 or CSCI 1300; Corequisite CSCI 3451
More information
CSCI 3451 / ECE 3226
Microprocessor LabLaboratory experiments to emphasize material covered in CSCI 3450.
Prerequisite(s): CSCI 3450 corequisite
More information
CSCI 3500
Operating SystemsTheory and practice of operating systems as managers of shared computer hardware: processors, memory, mass storage, and peripherals. Includes also an introduction to computer networking. Hands-on experience with general systems programming, concurrent and parallel programming, and network programming.
Prerequisite(s): CSCI 2100 and CSCI 2400 / ECE 3217
More information
CSCI 3910
Internship with IndustryA work experience with an agency, firm, or organization that employs persons in this degree field. Learning plan and follow-up evaluation required.
Prerequisite(s): Permission
More information
CSCI 3930
Special TopicsMore information
CSCI 3980
Independent StudyPrerequisite(s): Permission
More information
CSCI 4120
Advanced Data StructuresA comprehensive treatment of the design, analysis and implementation of advanced data structures, and their role in algorithmic design. Topics include data structures that are dynamic, persistent and/or cache-oblivious, an examination of performance including both amortized and probabilistic analyses, and domain-specific applications of data structures.
Prerequisite(s): CSCI 3100
More information
CSCI 4130
AutomataThe theory of automata and finite state machines. Regular languages and automata. Algebraic coding theory and shift registers. Algebraic matching theory.
Prerequisite(s): CSCI 2100
More information
CSCI 4310
Software ArchitectureThe theory and practice of software architecture and global design of software systems, with focus on recurring architectural patterns via in-depth case studies of various large-scale systems.
Prerequisite(s): CSCI 3300
More information
CSCI 4360
Web TechnologiesAn overview of the client-side and server-side technologies that power the modern web. Hands-on experience with interactive web site and web application development for desktop and mobile.
Prerequisite(s): CSCI 2300
More information
CSCI 4500
Advanced Operating SystemsParallel processes; processor problems; linear address space and tree structured spaces of objects; resource allocation, queuing and network control policies; system balancing and thrashing; job allocation and process scheduling; multiprogramming systems; protection mechanisms for accessing jobs; pipelining and parallelism; distributed systems.
Prerequisite(s): CSCI 3500
More information
CSCI 4530
Computer SecurityFundamental introduction to the broad area of computer security. Topics include access control, security policy design, network security, cryptography, ethics, securing systems, and common vulnerabilities in computer systems.
Prerequisite(s): CSCI 2510
More information
CSCI 4550
Computer NetworksAn exploration of the underlying concepts and principles of computer networks. Topics include communication protocols such as TCP/IP, design of network architectures, and the management and security of networks. Examples of real networks will be used to reinforce and demonstrate concepts.
Prerequisite(s): CSCI 2510
More information
CSCI 4610
Concurrent and Parallel ProgrammingThe design and implementation of software that fully leverages a single computer’s resources. Topics include profiling and optimization of codes, multi-threaded programming, parallelism using a graphical processor unit (GPU), and efficient use of memory cache.
Prerequisite(s): CSCI 2510
More information
CSCI 4620
Distributed ComputingThe design and implementation of software solutions that rely upon the cooperation of multiple computing systems. Topics will include parallelization of computation and data storage across small clusters of computers, and the deployment of systems in large-scale grid and cloud computing environments.
Prerequisite(s): CSCI 2510
More information
CSCI 4710
DatabasesFundamentals of database systems. Topics include relational and NoSQL data models, structured query language, the entity-relationship model, normalization, transactions, file organization and indexes, and data security issues. The knowledge of the listed topics is applied to design and implementation of a database application.
Prerequisite(s): CSCI 2100
More information
CSCI 4740
Artificial IntelligenceFundamental introduction to the broad area of artificial intelligence and its applications. Topics include knowledge representation, logic, search spaces, reasoning with uncertainty, and machine learning.
Prerequisite(s): CSCI 2100
More information
CSCI 4750
Machine LearningThis course introduces students to the field of machine learning with emphasis on the probabilistic models that dominate contemporary applications. Students will discover how computers can learn from examples and extract salient patterns hidden in large data sets. The course will introduce classification algorithms that predict discrete states for variables as well as regression algorithms that predict continuous values for variables. Attention will be given to both supervised and unsupervised settings in which (respectively) labeled training data is or is not available.
Prerequisite(s): CSCI 2100; MATH 2350; STAT 3850
More information
CSCI 4760
Deep LearningAn exploration of multi-layered machine learning architectures as applied to problems in a variety of domains. The course will study various network architectures including deep feed-forward, convolutional and recurrent networks, and uses in both supervised and unsupervised learning. Students will implement solutions in different problem domains, and learn to effectively manage practical and domain-specific issues that affect model performance.
Prerequisite(s): CSCI 4750
More information
CSCI 4820
Computer GraphicsApplications and implementation of computer graphics. Algorithms and mathematics for creating two and three dimensional figures. Animation and two and three dimensional transformations. Interaction, windowing, and perspective techniques. Coding using the graphics library OpenGL.
Prerequisite(s): CSCI 2100, MATH 2530 and one of MATH 3110 or MATH 3120
More information
CSCI 4830
Computer VisionThis course will introduce the fundamentals of image processing and computer vision, including image models and representation, image analysis methods such as feature extraction (color, texture, edges, shape, skeletons, etc.), image transformations, image segmentation, image understanding, motion and video analysis, and application-specific methods such as medical imaging, facial recognition, and content-based image retrieval.
Prerequisite(s): CSCI 2100
More information
CSCI 4845
Natural Language ProcessingIntroduction to the development of computer systems that attempt to manage the complexity and diversity of human language. Application of artificial intelligence and machine learning techniques to address problems such as machine translation and speech recognition. Emphasis to be placed on working with real data sets in the form of text corpora and sound recordings.
Prerequisite(s): CSCI 4750
More information
CSCI 4910
Internship with IndustryA work experience with an agency, firm, or organization that employs persons in this degree field. Learning plan and follow-up evaluation required.
More information
CSCI 4930
Special TopicsMore information
CSCI 4961
Capstone Project IThe first part of a two-course sequence serving as a concluding achievement for graduating students. In this course, students develop a proposal, collect and formalize specifications, become acquainted with necessary technologies, and create and present a detailed design for completing the project.
Prerequisite(s): CSCI 2300 and CSCI 2510
More information
CSCI 4962
Capstone Project IIThe continuation of CSCI-4961. In the second part of the sequence, students complete their project based upon the design that was developed during the first part of the sequence. Students must demonstrate continued progress throughout the semester and make a preliminary and final presentation of their results.
Prerequisite(s): CSCI 4961
More information
CSCI 4980
Advanced Independent StudyPrerequisite(s): Permission
More information
CSCI 4WU
Wash U Inter University CourseMore information
CSCI 5WU
Wash U Inter University CourseMore information
Graduate
CSCI 5001
Object-Oriented ProgrammingAn accelerated introduction to object-oriented computer programming including coverage of classes, methods, inheritance and polymorphism. Good software development practices will also be established, including issues of design, documentation, and testing.
More information
CSCI 5002
Data StructuresAn accelerated study of the design, implementation, and use of data structures. Principles of abstraction, encapsulation, and modularity to guide in the creation of robust, adaptable, reusable and efficient structures. Specific data types to include stacks, queues, dictionaries, trees, and graphs.
More information
CSCI 5003
Object-Oriented Software DesignAn implementation-based study of object-oriented software development. Teams will design and create medium-scale applications. Additional focus on the design and use of large object-oriented libraries, as well as social and professional issues.
Prerequisite(s): CSCI 5002
More information
CSCI 5004
Introduction to AlgorithmsIntroduction to analysis and complexity of algorithms. Big-O notation. Running time analysis of algorithms for traversing graphs and trees, searching and sorting. Recursive versus iterative algorithms. Complexity, completeness, computability.
Prerequisite(s): CSCI 5002
More information
CSCI 5005
Introduction to Operating SystemsTheory and practice of operating systems as managers of shared computer hardware: processors, memory, mass storage, and peripherals. Includes also an introduction to computer networking. Hands-on experience with general systems programming, concurrent and parallel programming, and network programming.
Prerequisite(s): CSCI 5002
More information
CSCI 5030
Principles of Software DevelopmentAn overview of software development at a graduate level, including software engineering processes, software design and architecture, testing and quality assurance, and selected other topics of interest to software practitioners.
More information
CSCI 5040
Unix ToolsAn introduction to programming on the Unix command line, including a thorough grounding in regular expressions, programming with pipes and filters, parsing structured and semi-structured file formats, and web scraping.
More information
CSCI 5050
Computing and SocietyA study of legal and ethical issues that arise with the use of computing technologies, and how new technologies alter the society that we live in.
More information
CSCI 5070
Algorithmic FairnessMachine learning algorithms are being used more and more to make decisions that affect everyone. This course addresses the major moral concerns that these algorithms do not treat people fairly. Students will learn how to detect bias in machine learning models and construct models and training sets that minimize bias.
Prerequisite(s): CSCI 5750
More information
CSCI 5090
Computer Science ColloquiumA series of presentations, given by faculty members and invited speakers, to provide students with exposure to current research and developments in the field of computer science. Students will be required to produce written summaries of the presentations.
More information
CSCI 5100
AlgorithmsAn overview of algorithm design and analysis. Topics include analysis of algorithms for traversing graphs and trees, searching and sorting, recursion, dynamic programming, and approximation, as well as the concepts of complexity, completeness, and computability.
More information
CSCI 5120
Advanced Data StructuresA comprehensive treatment of the design, analysis and implementation of advanced data structures, and their role in algorithmic design. Topics include data structures that are dynamic, persistent and/or cache-oblivious, an examination of performance including both amortized and probabilistic analyses, and domain-specific applications of data structures.
More information
CSCI 5150
Computational GeometryThe goal of computational geometry is to find efficient algorithms for solving geometric problems. Topics include convex hulls, Voronoi diagrams, Delaunay triangulations, geometric search and geometric data structures.
More information
CSCI 5200
Programming LanguagesOverview of programming languages: procedural and functional languages. Exposure to functional languages. Analysis of solution strategies to variable binding and function calls. Problem solving paradigms and linguistic issues.
Prerequisite(s): CSCI 5030
More information
CSCI 5250
CompilersTheory and practice of compiler design, including lexical analysis, finite state automata, context-free grammars, parsing algorithms, and code generation. Other important issues such as optimization, type-checking, and garbage collection will be discussed.
Prerequisite(s): CSCI 5030
More information
CSCI 5300
Software EngineeringKey aspects of the software engineering discipline, including software process models, software project initiation, software analysis and design, software project planning and management, and software process and product metrics.
Prerequisite(s): CSCI 5030
More information
CSCI 5310
Software ArchitectureThe theory and practice of software architecture and global design of software systems, with focus on recurring architectural patterns via in-depth case studies of various large-scale systems.
Prerequisite(s): CSCI 5300
More information
CSCI 5320
Software Project ManagementA study of key components of project management including project integration, project scope management, project time and cost management, quality management, human resource considerations, communications, risk management, and procurement management.
Prerequisite(s): CSCI 5300
More information
CSCI 5330
Software Quality AssuranceBest practices for the process of quality assurance for complex software systems. Topics include prevention of errors, testing, verification, and validation of software systems, inspection and review processes, and the distinction between process assurance and product assurance.
Prerequisite(s): CSCI 5300
More information
CSCI 5350
Human-Computer InteractionAn introduction to the field of Human-Computer Interaction, with a particular focus on the design, implementation, and evaluation of software interfaces.
Prerequisite(s): CSCI 5030
More information
CSCI 5360
Web TechnologiesAn overview of the client-side and server-side technologies that power the modern web. Hands-on experience with interactive web site and web application development for desktop and mobile.
Prerequisite(s): CSCI 5030
More information
CSCI 5500
Operating SystemsTheory and practice of operating systems, with hands-on emphasis on one of the UNIX family of operating systems. Processes, processor scheduling, virtual memory, parallelism and concurrency, race conditions, file systems, networking models, sockets programming, as well as a general focus on operating systems mechanisms and abstractions.
More information
CSCI 5530
Computer SecurityFundamental introduction to the broad area of computer security. Topics will include access control, security policy design, network security, cryptography, ethics, securing systems, and common vulnerabilities in computer systems.
More information
CSCI 5550
Computer NetworksA graduate-level introduction to the concepts and principles of computer networks, including the basic technologies of a network and how these systems interact. Focus includes the design and implementation of network software that transforms raw hardware into a richly functional communication system.
More information
CSCI 5570
Learning and Inference in NetworkingAn introduction to the underlying concepts and principles of data aspects of computer networks. The course covers machine learning techniques used by networked systems, for both wireless and wired networks. Topics in network analytics and management including traffic analysis and prediction, service differentiation, detection of anomalous network conditions, and enhancement of end-to-end network management and operation. The course includes hands-on assignments using networking tools and large-scale virtual network testbeds that can be used to collect data from network protocols or analyze large data sets for networking problems.
Prerequisite(s): CSCI 5750
More information
CSCI 5610
Concurrent and Parallel ProgrammingThe design and implementation of software that fully leverages a single computer’s resources. Topics include profiling and optimization of codes, multi-threaded programming, parallelism using a graphical processor unit (GPU), and efficient use of memory cache.
More information
CSCI 5620
Distributed ComputingThe design and implementation of software solutions that rely upon the cooperation of multiple computing systems. Topics will include parallelization of computation and data storage across small clusters of computers, and the deployment of systems in large-scale grid and cloud computing environments.
More information
CSCI 5710
DatabasesFundamentals of database systems. Topics include relational and NoSQL data models, structured query language, the entity-relationship model, normalization, transactions, file organization and indexes, and data security issues. The knowledge of the listed topics is applied to design and implementation of a database application.
More information
CSCI 5730
Evolutionary ComputationA survey of the major types of evolutionary algorithms (EAs), a class of stochastic, population-based algorithms inspired by natural evolution theory, genetics, and population dynamics, which are capable of solving complex optimization and modeling problems. This is a rigorous and programming-intensive course in which students will gain hands-on experience in solving complex problems with EAs.
More information
CSCI 5740
Introduction to Artificial IntelligenceFundamental introduction to the broad area of artificial intelligence and its applications. Topics include knowledge representation, logic, search spaces, reasoning with uncertainty, and machine learning.
More information
CSCI 5745
Advanced Techniques in Artificial IntelligenceIntelligent agents in complex environments must deal with uncertainty and how to represent varied knowledge. This course focuses on the design and implementation of agents that can function in such complex environments. Topics include knowledge representation, environments with hidden information, and probabilistic reasoning.
Prerequisite(s): CSCI 5740
More information
CSCI 5750
Introduction to Machine LearningThis course introduces students to the field of machine learning with emphasis on the probabilistic models that dominate contemporary applications. Students will discover how computers can learn from examples and extract salient patterns hidden in large data sets. The course will introduce classification algorithms that predict discrete states for variables as well as regression algorithms that predict continuous values for variables. Attention will be given to both supervised and unsupervised settings in which (respectively) labeled training data is or is not available. Emphasis is placed on both the conceptual relationships between these different learning problems as well as the statistical models and computational methods used to employ those models.
More information
CSCI 5760
Deep LearningAn exploration of multi-layered machine learning architectures as applied to problems in a variety of domains. The course will study various network architectures including deep feed-forward, convolutional and recurrent networks, and uses in both supervised and unsupervised learning. Students will implement solutions in different problem domains, and learn to effectively manage practical and domain-specific issues that affect model performance.
Prerequisite(s): CSCI 5750
More information
CSCI 5830
Computer VisionThis course will introduce the fundamentals of image processing and computer vision, including image models and representation, image analysis methods such as feature extraction (color, texture, edges, shape, skeletons, etc.), image transformations, image segmentation, image understanding, motion and video analysis, and application-specific methods such as medical imaging, facial recognition, and content-based image retrieval.
More information
CSCI 5845
Natural Language ProcessingIntroduction to the development of computer systems that attempt to manage the complexity and diversity of human language. Application of artificial intelligence and machine learning techniques to address problems such as machine translation and speech recognition. Emphasis to be placed on working with real data sets in the form of text corpora and sound recordings.
Prerequisite(s): CSCI 5750
More information
CSCI 5910
Internship with IndustryA work experience with an agency, firm, or organization that employs persons in this degree field. Learning plan and follow-up reflection and evaluation are required.
Prerequisite(s): Permission
More information
CSCI 5930
Special TopicsMore information
CSCI 5960
Software Engineering Capstone ProjectA culminating experience in which teams of students complete a full software development life-cycle resulting in the creating of a software system.
Prerequisite(s): CSCI 5300
More information
CSCI 5961
Artificial Intelligence Capstone ProjectA culminating experience in which teams of students solve complex problems using techniques from artificial intelligence.
Prerequisite(s): CSCI 5740 and CSCI 5750
More information
CSCI 5970
Research TopicsA research experience in computer science guided by faculty.
Prerequisite(s): Permission
More information
CSCI 5980
Graduate Reading CourseMore information
CSCI 5990
Thesis ResearchWork toward a Master's thesis.
More information
BCB 5000
Introduction to Computer Programming for Life SciencesAn accelerated introduction to programming, covering control structures, functions, and classes, as well as data structures including stacks, queues, linked lists, priority queues, dictionaries, trees, and binary search trees. When possible, programming projects will draw upon motivation from biological problems.
More information
BCB 5100
Advanced Scripting for Life SciencesThis course explores intermediate programming techniques, with focus on combining use of various software packages and existing tools to facilitate the gathering, processing, and visualization of biological data sets.
More information
BCB 5200
Introduction Bioinformatics IThe course focuses on the study of nucleotide and peptide sequences and structures from a computational perspective. Topics including sequence alignment, detecting and understanding mutations, gene identification, and structural comparison and prediction.
More information
BCB 5250
Introduction Bioinformatics IIThis course focuses on the study of interaction and evolution of biological sequences and structures. Topics include interaction networks, clustering, phylogenic trees and how biological systems change at the genomic metabolic, species and ecological levels.
Prerequisite(s): BCB 5200
More information
BCB 5300
Algorithms in Computational BiologyThis course introduces the foundations of algorithmic techniques and analysis, as motivated by biological problems. Topics include dynamic programming, tree and graph algorithms, sequence analysis, hidden markov models. Motivations include sequence alignment, motif finding, gene prediction, and phylogeny.
Prerequisite(s): BCB 5250
More information
BCB 5350
Machine Learning in BioinformaticsAn application of machine learning techniques to solve problems arising in bioinformatics. Unsupervised and supervised learning, clustering, hidden Markov models, and neural networks will be introduced and applied to study biological sequences, structure prediction and gene expression.
More information
BCB 5810
Bioinformatics ColloquiumThe course provides students with current information about studies in bioinformatics and computational biology through presentations given by faculty members, students, and invited speakers. Students who enroll for credit must present a 20-30 minute talk as part of the seminar, demonstrating their oral communication skills while presenting technical content.
More information
BCB 5910
Bioinformatics InternshipInternships will include experiences in research and development laboratories of local biotechnology companies, as well as in research laboratories in SLU's departments of Biology, Chemistry, Computer Science, and Mathematics or departments in the School of Medicine.
Prerequisite(s): BCB 5250 and permission
More information
BCB 5930
Special Topicsvaries
More information
BCB 5970
Research TopicsThis course will provide research experiences in SLU's departments of Biology, Chemistry, Computer Science, and Mathematics or departments in the School of Medicine.
More information