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.

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.

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.

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.

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.