Academic Catalog

Computer Science (3460)

3460:101. Essentials of Computer Science. (3 Credits)

Explore major topics in Computer Science - computing systems, data representation, hardware, programming topics, and important applications such as networks, robotics, databases, and gaming.

3460:125. Descriptive Computer Science. (2 Credits)

Computer literacy: terminology; methods, media for data representation, storage; elements of a computing system; data organization.

3460:126. Introduction to Visual Basic Programming. (3 Credits)

Windows GUI and Microsoft's Visual BASIC programming environment. Design of user interfaces, event-driven programming, basic control structures, simple variables, arrays, and sequential files.

3460:209. Computer Science I. (4 Credits)

Prerequisite: Completion of 3450:145 or 3450:149 with a grade of C- or better. 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.

3460:210. Computer Science II. (4 Credits)

Prerequisites: 3460:209 and 3450:208 with a grade of C- or better. Dynamic memory allocation methods, elementary data structures, internal representations, and associated algorithms. Topics include lists, stacks, queues, trees, and sorting methods.

3460:289. Selected Topics in Computer Science. (1-3 Credits)

Prerequisite: Permission. Selected topics of interest in computer science.

3460:306. Assembly and System Programming. (4 Credits)

Prerequisite: Completion of 3460:210 or equivalent with a grade of C- or better. Basic computer organization, digital logic, and data representation. Programming in assembly and C languages on a typical digital computer.

3460:307. Internet Systems Programming. (3 Credits)

Prerequisite: Completion of 3460:210 or equivalent with a grade of C- or better. Overview of current programming languages, tool and scripting technologies for the Internet and World Wide Web.

3460:316. Data Structures. (3 Credits)

Prerequisites: 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.

3460:389. Intermediate Topics in Computer Science. (1-3 Credits)

Prerequisite: Permission of instructor. Selected topics of interest in computer science at an intermediate level.

3460:395. Internship in Computer Science. (1-12 Credits)

Prerequisites: Completion of 3460:209 and 3460:210 with grades of C- or better, and permission of a faculty supervisor. Placement in industry for experience related to computer science. (May be repeated to a maximum of 12 credit hours. No more than three credits may be applied towards a computer science major.)

3460:406. Introduction to C & UNIX. (3 Credits)

Prerequisite: Programming experience. Syntax of C with flow structures, pointers, and command line concepts. For UNIX, shell scripts, UNIX file structure, system calls and interprocess communication protocols. (Not an approved mathematics and computer science major, minor, or certificate elective.)

3460:408. Windows Programming. (3 Credits)

Prerequisites: Completion of 3460:208 or 3460:210 or 3460:406 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.

3460:418. Introduction to Discrete Structures. (3 Credits)

Prerequisite: Completion of 3460: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.

3460:421. Object-Oriented Programming. (3 Credits)

Prerequisite: Completion of 3460:210 with a grade of C- or better. Object-oriented design, analysis, and programming using different development models. Comparison with other programming paradigms.

3460:426. Operating Systems. (3 Credits)

Prerequisites: Completion of 3460:316 and 4450:320 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.

3460:428. UNIX System Programming. (3 Credits)

Prerequisite: Completion of 3460: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.

3460:430. Theory of Programming Languages. (3 Credits)

Prerequisite: Completion of 3460: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.

3460:435. Algorithms. (3 Credits)

Prerequisite: Completion of 3460:316 with a grade of C- or better. Design and analysis of efficient algorithms for random access machines; derivation of pattern classification algorithms.

3460:440. Compiler Design. (3 Credits)

Prerequisites: Completion of 3460: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.

3460:445. Introduction to Bioinformatics. (3 Credits)

Prerequisite: Completion of 3460: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.

3460:453. Computer Security. (3 Credits)

Prerequisites: Completion of 3460:210 with a grade of C- or better. Principles of computer security -- cryptography, authentications, secure network protocols, intrusion detection and countermeasures.

3460:455. Data Communication & Computer Networks. (3 Credits)

Prerequisites: Completion of 3460: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.

3460:457. Computer Graphics. (3 Credits)

Prerequisite: Completion of 3460:210 with a grade of C- or better. Topics in vector and raster graphics, interactive graphics languages, scan conversion, clipping, geometric transformation, projection, shading, animation and virtual reality.

3460:460. Artificial Intelligence & Heuristic Programming. (3 Credits)

Prerequisite: Completion of 3460: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.

3460:463. Pervasive Computing. (3 Credits)

Prerequisites: Completion of 3460:210 with a grade of C- or better. Computing from a wireless perspective. Topics include protocols, algorithms, security and sensor networks.

3460:465. Computer Architecture. (3 Credits)

Prerequisite: Completion of 3460: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.

3460:468. Mobile Robotics. (3 Credits)

Prerequisites: Completion of 3460: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.

3460:475. Database Management. (3 Credits)

Prerequisite: Completion of 3460:210 with a grade of C- or better. Fundamentals of database organization, data manipulations and representation, data integrity, privacy.

3460:477. Introduction to Parallel Processing. (3 Credits)

Prerequisites: Completion of 3460:316 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.

3460:480. Software Engineering. (3 Credits)

Prerequisite: Completion of 3460: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.

3460:489. Topics in Computer Science. (1-3 Credits)

Prerequisite: Permission of instructor. Selected topics in computer science at an advanced level.

3460:490. Senior Seminar in Computer Science. (3 Credits)

Prerequisites: Must have completed at least 30 hours of 3460 (computer science) courses. Corequisites: 3460:435 and [3460:426 or 4450:325]. Professional software development, surviving "Mission Impossible" projects, computer ethics, intellectual property rights (patents and copyrights), and other current topics.

3460:497. Individual Study in Computer Science. (1-3 Credits)

(May be repeated. Can apply to degree, minor or certificate only with department approval.) Prerequisite: Permission. Directed studies designed as introduction to research problems under guidance of designated faculty member.

3460:498. Senior Honors Project: Computer Science. (1-3 Credits)

Prerequisites: 3460:497 and Senior student in Honors Program. Directed study for senior student in the Honors Program who has completed 3460:497. An introduction to research problems in the computer science under the guidance of selected faculty.