Computer Science Undergraduate Level Courses
- Home

- Computer Science

- Academic Programs

- Undergraduate Programs

- Computer Science Undergraduate Level Courses
Computer Science Undergraduate Level Courses
209 COMPUTER SCIENCE I 4 credits
Prerequisite: Completion of 3450:145 or 3450:149 with a grade of C- or better or equivalent. Introduction to problem-solving methods and algorithms. Programming in a high-level language including how to design, code, debug and document programs with good programming style.
210 COMPUTER SCIENCE II 4 credits
Prerequisites: 209 and 3450:208 with a grade of C- or better or equivalent. Dynamic memory allocation methods, elementary data structures, internal representations, and associated algorithms. Topics include lists, stacks, queues, trees, and sorting methods.
316 DATA STRUCTURES 3 credits
Prerequisites: Completion of 3460:210 and (3450:221 or 3450:210) with grades of C- or better. A continuation of topics in 3460:210. Topics include: graphs and graph algorithms, external sorting, hashing, advanced tree and file structures.
408 WINDOWS PROGRAMMING 3 credits
Prerequisites: Completion of 210 with a grade of C- or better or permission. Windows operating systems, integrated development environment, event-driven programming, graphical user interface design, object libraries, component object model, object linking, embedding, client-server objects.
418 INTRODUCTION TO DISCRETE STRUCTURES 3 credits
Prerequisite: Completion of 210 with a grade of C- or better or permission. Introduction to a number of structures in algebra of particular use to student in computer science. Topics include algorithms and flow chart language, graphs and digraphs, trees, lattices codes.
421 OBJECT-ORIENTED PROGRAMMING 3 credits
Prerequisite: Completion of 210 with a grade of C- or better. Object-oriented design, analysis, and programming using different development models. Comparison with other programming paradigms.
426 OPERATING SYSTEMS 3 credits
Prerequisites: Completion of 210 and (4450:320 or 3460:306), or equivalents with grades of C- or better. Introduction to aspects of all modern operating systems: types; storage management; process and resource control; interacting process synchronization.
428 UNIX SYSTEM PROGRAMMING 3 credits
Prerequisite: Completion of 210 with a grade of C- or better and knowledge of C. An overview of the UNIX operating system. Shell programming. Process management, processor management, storage management, scheduling algorithms, resource protection, and system programming.
430 THEORY OF PROGRAMMING LANGUAGES credits 3
Prerequisite: Completion of 210 with a grade of C- or better. Advanced concepts underlying programming languages and their applications, formal definitions of programming languages, Backus Normal Form, semantics. Alternative programming paradigms including functional programming.
435 ALGORITHMS 3 credits
Prerequisite: Completion of 316 with a grade of C- or better. Design and analysis of efficient algorithms for random access machines; derivation of pattern classification algorithms.
440 COMPILER DESIGN 3 credits
Prerequisites: Completion of 210 and (4450:320 or 3460:306), with a grade of C- or better. Techniques used in constructing compilers, including lexical and syntactic analysis, parsing techniques, object code generation and optimization. Course requires a compiler implementation project.
445 INTRODUCTION TO BIOINFORMATICS 3 credits
Prerequisite: Completion of 210 with a grade of C- or better or permission. Introduce major themes in bioinformatics. Topics include concepts of molecular genetics, biological databases, database searching, sequence alignments, phylogenetic trees, structure prediction, and microarray data analysis.
453 COMPUTER SECURITY 3 credits
Prerequisites: Completion of 210 with a grade of C- or better. Principles of computer security -- cryptography, authentications, secure network protocols, intrusion detection and countermeasures.
455 COMMUNICATION AND COMPUTER NETWORKS 3 credits
Prerequisites: Completion of 210 with a grade of C- or better. ISO-OSI, TCP/IP, SNA data switching, protocols, flow and error control, routing, topology, Network trends, network taxonomies, and socket-based programming.
457 COMPUTER GRAPHICS 3 credits
Prerequisite: Completion of 210 with a grade of C- or better and knowledge of C. Topics in vector and raster graphics, interactive graphics languages, scan conversion, clipping, geometric transformation, projection, shading, animation and virtual reality.
460 ARTIFICIAL INTELLIGENCE AND HEURISTIC PROGRAMMING 3 credits
Prerequisite: Completion of 210 with a grade of C- or better. Study of various programs which have displayed some intelligent behavior. Exploration of level at which computers can display intelligence.
463 PERVASIVE COMPUTING 3 credits
Prerequisites: Completion of 210 with a grade of C- or better. Computing from a wireless perspective. Topics include protocols, algorithms, security and sensor networks.
465 COMPUTER ARCHITECTURE 3 credits
Prerequisite: Completion of 210 and (4450:320 or 3460:306), with a grade of C- or better. An introduction to the hardware organization of the computer at the register, processor and systems level. In-depth study of the architecture of a particular computer system family.
468 MOBILE ROBOTICS 3 credits
Prerequisites: Completion of 210 with a grade of C- or better. Introduction to history, hardware and software components, and design of autonomous mobile robots. Multiple projects involving both physical robots and software emulation.
475 DATABASE MANAGEMENT 3 credits
Prerequisite: Completion of 210 with a grade of C- or better. Fundamentals of database organization, data manipulations and representation, data integrity, privacy.
477 INTRODUCTION TO PARALLEL PROCESSING 3 credits
Prerequisites: Completion of 210 with a grade of C- or better and knowledge of C. Commercial processors: past and present. Parallel languages, models of parallel computation, parallel algorithm design and performance evaluation. Parallel paradigms with relation to real world applications.
480 SOFTWARE ENGINEERING 3 credits
Prerequisite: Completion of 210 with a grade of C- or better. Introduction to formal software specification and validation. Introduction of methodologies and tools of design, development and validation, and maintenance.
- Academic Programs
- Undergraduate Programs
- Computer Science Undergraduate Programs
- Management Track
- System Track
- Undergraduate Electives
- Minor in Computer Science
- Certificate in Computer Science
- Computer Science Undergraduate Level Courses
- BSCS Prior to Fall 2011
- Planning Tips for Computer Science Students Admitted Prior to Fall 2011
- Course Listing
- Advising
- CS-Honor-Guidelines
- Graduate Program
- Course Information

