Personal tools

Course Descriptions (2014)

Catalog descriptions of computer science courses offered at SLU.

These course descriptions are based on numbering that was in effect through Spring 2015. unofficial. Please go to the Saint Louis University course information page and follow the directions there to see official course listings.

CSCI 140 - Introduction To Computer Science: Principles
A 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: 3 years of high school math. Offered Regularly. 3.000 Credit hours. 
CSCI 141 - Introduction To Computer Science: Bioinformatics
An 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. Offered occasionally. 3.000 Credit hours. 
CSCI 142 - Introduction to Computer Science: Game Design
Introduces 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. No computer science background required. Offered occasionally. 3.000 Credit hours.
CSCI 143 - Introduction To Computer Science: Mobile Computing
An 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. Offered occasionally. 3.000 Credit hours. 
CSCI 144 - Introduction To Computer Science: Multimedia
An 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. Offered occasionally. 3.000 Credit hours. 
CSCI 145 - Introduction to Computer Science: Scientific Programming
Elementary 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: Calculus I (or concurrent enrollment). Offered Fall and Spring. 3.000 Credit Hours.
CSCI 146 - Object-Oriented Practicum
Labs and lectures in object-oriented programming to supplement knowledge gained in CSCI 145 for students wishing to continue on to CSCI 180, who have not taken CSCI 150. Prerequisite: a "C-" or better in CSCI 145. Offered on an as-needed basis. 1.000 Credit Hours. Note: This course will be phased out in coming years. 
CSCI 147 - Introduction To Computer Science: Taming Big Data
An 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. Offered occasionally. 3.000 Credit hours. 
CSCI 148 - Introduction To Computer Science: Web Development
The technology of the web, from the structure of the Internet to the design of web pages. Students will learn Internet standard for encoding information, and create dynamic web pages using the latest technologies. The course introduces fundamentals of computer science, including programming concepts, software engineering principles, file systems, and database interactions. Offered occasionally. 3.000 Credit hours. 
CSCI 149 - Introduction To Computer Science: Special Topics
Topics vary. Offered occasionally. 3.000 Credit hours. 
CSCI 150 - Introduction to Object-Oriented Programming
An 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: MATH 120 or equivalent, and C- or better in one of CSCI 130 through 149 or equivalent programming experience with permission. Offered Fall and Spring. 4.000 Credit Hours.
(CSCI 180 - Data Structures)
As of Fall 2014, CSCI 180 has been renumbered as CSCI 210. 
CSCI 210 - Data Structures
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. Prerequisites: A "C-" or better in CSCI 150; passing grade or concurrent enrollment in MATH 135. Offered Fall and Spring. 4.000 Credit Hours. 
CSCI 224 - Computer Architecture
Introduction to the organization and architecture of computer systems, including aspects of digital logic, data representation, assembly level organization, memory systems, and processor architectures. Prerequisites: CSCI 150 and MATH 135. Offered Spring Semester. 3.000 Credit Hours.
CSCI 269 - Computational Problem Solving
Intended 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: CSCI 210 or equivalent. Offered Fall Semester. 1.000 Credit Hours
CSCI 281 - Computer Ethics
This 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: PHIL 205. Offered Spring Semester. 3.000 Credit Hours. Note: This course is cross-listed as PHIL 341;  students wishing to apply this to their Philosophy Core must register for PHIL 341.
CSCI 290 - Object-Oriented Software Design
An 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: At least a "C-" in CSCI 210. Offered Fall Semester. 3.000 Credit Hours. 
CSCI 293 - Special Topics
1.000 TO 4.000 Credit Hours.
CSCI 298 - Independent Study
Prior approval of sponsoring professor and chair required. 0.000 TO 3.000 Credit Hours.
CSCI 305 - Microprocessors
Crosslisted with ECE 305. Microprocessors/microcomputer structure, input/output. Signals and devices. Computer arithmetic, programming, interfacing and data acquisition. Prerequisite: CSCI 150 or CSCI 145. Corequisite: CSCI 306. Offered Fall Semester. 3.000 Credit Hours. 
CSCI 306 - Microprocessor Lab
Crosslisted with ECE 306. Laboratory experiments to emphasize material covered in CSCI 305. Corequisite: CSCI 305. Offered Fall Semester. 1.000 Credit Hours. 
CSCI 314 - Algorithms
Introduction 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. Prerequisites CSCI 210, MATH 135, and MATH 142. Offered Fall Semester. 3.000 Credit Hours. 
CSCI 324 - Operating Systems
Theory and practice of operating systems, with emphasis on one of the UNIX family of operating systems. File organization and database systems. Focus on a multi-user system in the client-server model. Hands-on experience.  Prerequisites: CSCI 210 and either CSCI 224 or ECE 317. Offered Fall Semester. 3.000 Credit Hours. 
CSCI 327 - Compilers
Introduction 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.  Prerequisites: CSCI 210 and either CSCI 224 or ECE 317. Offered occasionally. 3.000 Credit Hours. 
CSCI 334 - Network Programming I
Transmission media; packets, frames, and error-detection; LAN and WAN technologies; routing; Internet architecture and protocols; network performance; host computers; routers; protocol layers; Internet protocol addresses; datagrams; encapsulation; fragmentation; reassembly; Internet Control Message Protocol; network security and legal issues.  Prerequisite: CSCI 324. Offered Spring Semester. 3.000 Credit Hours. 
CSCI 344 - Programming Languages
Overview 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: CSCI 290.Offered Spring Semester. 3.000 Credit Hours. 
CSCI 357 - Computer Graphics I
Applications 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. Prerequisites: CSCI 210, MATH 244, and MATH 311 or MATH 315. Offered occasionally. 3.000 Credit Hours. 
CSCI 362 - Artificial Intelligence
Fundamental 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: CSCI 210. Offered occasionally. 3.000 Credit Hours.
CSCI 371 - Databases
Fundamentals of Database systems: the relational model, file organization and indexes, relational algebra, structured query language, the entity relationship model, normalization, object databases. Prerequisite: CSCI 210. Offered Fall Semester. 3.000 Credit Hours. 
CSCI 386 - Internship with Industry
Department permission required. 0.000 TO 3.000 Credit Hours. Internship
CSCI 390 - Software Engineering
Theory 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: CSCI 290. Offered Spring Semester. 3.000 
CSCI 393 - Special Topics
1.000 TO 4.000 Credit Hours.
CSCI 398 - Independent Study
Prior approval of sponsoring professor and chairperson required. 0.000 to 3.000 Credit Hours. Independent Study
CSCI 408 - High-Performance Computing
Use processor features, multiple cores, memory, graphics cards and clusters to maximize efficiency of computer software. Topics include vectorizing code, cache and memory efficiency, multithreaded programming, GPU programming and distributed programming. Prerequisites: CSCI 210 (required); CSCI 314 and CSCI 324 recommended. Offered occasionally. 3.000 Credit Hours.
CSCI 413 - Automata
The theory of automata and finite state machines. Regular languages and automata. Algebraic coding theory and shift registers. Algebraic matching theory. Prerequisite: CSCI 210. Offered occassionally. 3.000 Credit Hours.
CSCI 425 - Advanced Operating Systems
Parallel 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: CSCI 324. Offered occasionally. 3.000 Credit Hours. 
CSCI 434 - Network Programming II
Client Server interactions; socket interference; Domain Name Systems; e-mail registration and transfer; file transfer and remote file access; security and legal aspects of network management; web-servers and technologies; CGI and Java technologies. Prerequisite: CSCI 334. Offered occasionally. 3.000 Credit Hours. 
CSCI 443 - Computer Security
Fundamental 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: CSCI 210 is required. CSCI 324 and PHIL 341/CSCI 281 are recommended but not required. Offered occasionally. 3.000 Credit Hours. 
CSCI 485 - Co-op with Industry
Full-time supervised work experience with an agency, firm, or organization that employs persons in this degree field. Learning plan and follow-up evaluation required. 0.000 Credit Hours.
CSCI 486 - Internship with Industry
A work experience with an agency, firm, or organization that emplys persons in this degree field. Learning plan and follow-up evaluation required. 0.000 to 3.000 Credit Hours.
CSCI 491 - Capstone Project
Some projects may have more specific prerequisites. Either a research project or a design project. Public presentation of the project required. Prerequisites: Senior Computer Science major. All required 200-level CS courses and six additional hours of computer science. Prerequisite: CSCI 290 and CSCI 224 (senior standing, all required 200 level CSCI courses plus six more hours). 3.000 Credit Hours. Note: Students entering SLU prior to Fall 2011 are formally required to take CSCI 491 as a requirement for the Computer Science Major, however those students may take the two-semester CSCI 496/497 pair in lieu of CSCI 491 if they wish.  Both will be offered during the transitional period. Students entering SLU from Fall 2011 and beyond must take CSCI 496/497.
CSCI 493 - Special Topics
1.000 TO 4.000 Credit Hours.
CSCI 495 - Senior Residency
Required for graduation seniors. 0.000 Credit Hours. Senior Residency
CSCI 496 - Capstone Project I
The 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: Completion of all 200-level CSCI requirements and at least 75 credit hours toward graduation (i.e., second-semester junior standing or beyond). 2.000 Credit Hours.
CSCI 497 - Capstone Project II
The continuation of CSCI 496. 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: CSCI 496. 2.000 Credit Hours.
CSCI 498 - Advanced Independent Study
Prior permission of sponsoring professor and chairperson required. 0.000 TO 6.000 Credit Hours. Graduate, Undergraduate
CSCI 4WU - Wash U Inter University Course
0.000 TO 6.000 Credit Hours.
Document Actions