Last Revised: 10/14/2004
Table of Contents Search

DEPARTMENT OF COMPUTER SCIENCE

Computer Science Major | Computer Science Minor | Course Descriptions   

CHAIR: Peter A. Cooper

FACULTY: Burris, Gonzalez, Ji, McGuire, Smith

The Department of Computer Science offers a curriculum leading to a Bachelor of Science degree in Computer Science.

Computers are an integral part of our life. Computer Science is an interdisciplinary field that encompasses mathematics and logic, science, communication, and engineering. Fundamental to a study of Computer Science is the development of intellectual tools and practical skills in the design and implementation of technology-based solutions to real world scientific, business and human problems.

Computing professionals support many scientific, governmental and commercial enterprises through network and communication systems management, application (computer program) development and maintenance, and hardware design. The management of computing resources within organizations is typically a mission critical activity and computing professionals occupy key organizational roles as network and database administrators, software engineers, systems analysts and programmers.

The Computer Science program offers major study plans for students wishing to pursue careers as a programmer/analyst/software engineer, as network and database administrators, or to prepare for advanced studies at the graduate level. Minor study plans are offered which can be tailored to the needs of students majoring in almost any field. A plan leading to secondary teacher certification in Computer Science is also offered.

Sam Houston State University provides a comprehensive computing environment for students. The Computer Services Department operates a large number of PC based laboratories containing desktop computers, and work stations. A variety of operating systems, network protocols, programming languages and application packages areavailable. Students have full access to the Internet and E-mail facilities when on campus and through dial-up facilities from off-campus. The department operates two laboratories, one equipped with a small self-contained LAN, a quad processor Xeon system, and a 16--CPU Beowulf cluster, the other a multimedia database research facility. The department also has access to state of the art visualization facilities.

Computer Science students are encouraged to join the Sam Houston Association of Computer Scientists. The Club sponsors field trips, campus visits by guest speakers and occasional student/faculty outings.

Curriculum: Major in Computer Science

BACHELOR OF SCIENCE

The Computer Science major requires a total of 39 hours of Computer Science course work. All general degree requirements including a minor in a non-Computer Science area must also be met. The 39 hours of course work for the Computer Science major should be distributed as follows (NOTE: CS 133, CS 138, and CS 143 may not be used to meet this requirement):

REQUIRED COURSES: CS 164, 165, 272, 334, 362, 437 18 hrs.
Students are expected to select an emphasis from one of the following tracks:
Computer Science: CS 278, 333, 430, 431, CS (9 hrs.) 21 hrs.
Information Systems: CS 278 (COBOL), 234, 336, 463, CS (9 hrs.) 21 hrs.
Industrial Technology: CS 278, 333, 396, CS (12 hrs.) 21 hrs.
The total must include a minimum of 21 upper division hours: Total 39 hrs.

CS 431 is recommended for students electing to complete the Information Systems track or Industrial Technology track. In addition to the major requirements, computer science majors are required to complete the following support courses:

Computer Science/Industrial Technology: MTH 199/299 or MTH 142/143, MTH/STA 379, MTH/STA advanced elective.

Information Systems: MTH 199/299 or MTH 142/143, MTH 396, STA 379, ACC 231, MGT 380

The math sequence MTH 142/143 is essential for students interested in careers in aerospace and engineering disciplines.

SUGGESTED COURSES OF STUDY

Computer Science (IS)

First Year Credit Second Year Credit
CS 164, 165, 278 (COBOL) 9 CS 234, 272, 336 9
MTH 199, 299 or MTH 142, 143 6-8 Component Area 4 (Visual Performing Arts) 3
ENG 164, 165 6 ACC 231 3
HIS 163, 164 6 Component Area 4 (Literature) 3
KIN 215 1 ENG elective 3
Minor/elective 3 POL 261, POL (200-level) 6
  31-33 General Electives 6
      33
       
Third Year Credit Fourth Year Credit
CS 334, 362, 463 9 CS 437 3
CS (Adv.) 6 CS (Adv.) 6
STA 379 3 MTH 396 3
Component Area 3 (Natural Science, from one department) 8 MGT 380 3
Component area 4 (Cultural Studies) 3 Advanced General Electives 9
Component Area 5 3 Component Area 3 (Natural Science, from one department) 8
  32   32

SUGGESTED COURSES OF STUDY

Computer Science (CS)

First Year Credit Second Year Credit
CS 164, 165, 272 9 CS 278, 333, 362 9
MTH 199 and 299 or MTH 142 and 143 6-8 Component Area 4 (Visual and Performing Arts) 3
ENG 164, 165 6 Component Area 3 (Natural Science, from one department) 8
HIS 163, 164 6 Component Area 4 (Literature) 3
KIN 215 1 ENG 3
Minor/elective 3 POL 261, POL (200-level) 6
  31-33   32
       
Third Year Credit Fourth Year Credit
CS 334, 430, 431 9 CS 437 3
Advanced CS Elective 3 Advanced CS Electives 6
Component Area 3 (Natural Science, from one department) 8 STA 379 3
Component Area 4 (Cultural Studies) 3 Minor/electives 15
Minor/electives 9 Component Area 5 3
  32 Advanced MTH/STA elective 3
      33

NOTE: Students should use elective and/or minor hours to satisfy the 42 advanced hour requirement.

SUGGESTED COURSES OF STUDY

Computer Science (IT)

First Year Credit Second Year Credit
CS 164, 165, 278 9 CS 272, 333, 362 9
MTH 199 and 299 or MTH 142 and 143 6-8 Component Area 4 (Visual and Performing Arts) 3
ENG 164, 165 6 Component Area 3 (Natural Science, from one department) 8
HIS 163, 164 6 Component Area 4 (Literature) 3
KIN 215 1 ENG Elective 3
General Elective 3 POL 261, POL (200-level) 6
  31-33   32
       
Third Year Credit Fourth Year Credit
CS 334, 396 6 CS 437 3
CS (Adv.) 6 STA 379 3
Component Area 3 (Natural Science, from one department) 8 CS (Adv.) 6
Component Area 4 (Cultural Studies) 3 MTH/STA (Adv.) 3
Minor/Advanced General Elective 9 Component Area 5 3
  32 Minor/electives (CS 431 recommended) 15
      33

 Students with extensive high school programming experience may elect to begin a major or minor program with CS 165 or CS 272. Students who have taken the advanced placement computer science examination may be eligible for credit for CS 164 and CS 165.

Curriculum: Minor in Computer Science

A Computer Science Minor consists of 21 hours of Computer Science course work of which at least 9 hours must be advanced. Two recommended minor plans are shown here. Modifications may be made to meet individual student needs as approved by the Computer Science Department Chair. Individualized minor plans are available for students seeking a Computer Science minor for Certification.

Computer Science Minor:

Students will select an emphasis from one of the following tracks:

Information Systems: CS 160, CS278(COBOL), CS 234, 334, 337, 336, 463 21 hrs
Computer Sciences: CS 164,165, 272, 278, 333, 334, CS (Adv.) 3 hrs 21 hrs.
Industrial Technology: CS 164, 165, 272, 278, 333, 334, 396, CS 3 hrs 21 hrs.

COMPUTER SCIENCE COURSE DESCRIPTIONS

CS 133 INTRODUCTION TO COMPUTERS. [COSC 1300] This is a computer literacy course. Basic computing concepts are presented. Assignments provide a hands-on experience in using microcomputer applications. Multimedia and the Internet are introduced. May not be taken for credit toward a CS major or minor. This course may be taken as a classroom based course or as an Independent Study/Internet course.Credit 3.

*CST 138 COMPUTER HARDWARE FUNDAMENTALS. This course will provide the skills necessary to design, install and maintain the hardware on which society so heavily depends. The training supplied by this course will prepare students for successful completion of the A+ certification process providing licensing sought by computer sales, installation and servicing industries. Credit 3.

CS 138 MULTIMEDIA AND NETWORK COMPUTING. This is an introduction to the computing technology underlying multimedia and network computing. The emphasis is on the use of this technology to improve communications. CD-ROMs, audio and video capture, electronic mail, groupware and other hardware and software resources are used to prepare documents and visual aids and to make interactive presentations. Students enrolled in this course should be seeking a teaching certificate. May not be taken for credit toward a CS major or minor. This course may be taken as a classroom based course or as an Independent Study/Internet course. Credit 3.

CS 143 INTRODUCTION TO COMPUTING FOR THE SOCIAL SCIENCES. [COSC 1401] This course develops the student’s skills in the effective use of computing technology in the Social Sciences. Topics covered in depth include Windows, word processing, spreadsheets, database, integrated applications, local networking, the Internet and multimedia documents. . May not be taken for credit toward a CS major. Credit 4.

CS 160 VISUAL PROGRAMMING. This course is an introduction to programming using the visual paradigm, aimed at students with little or no background in programming. The core notions of problem solving through programming are introduced, following an object-oriented approach to visual programming.

CS 164 INTRODUCTION TO ALGORITHMS AND PROGRAMMING. This course is an introduction to programming. A software engineering approach to developing computer programs is stressed and object-oriented concepts are introduced. The development of procedures and the writing and testing of programs to implement them is emphasized. Prerequisites: eligibility for MTH 199, MTH 170, or MTH 142, basic keyboarding and PC skills. Credit 3.

CS 165 PROGRAMMING ALGORITHMS AND DATA STRUCTURES. This course is a continuation of CS 164 and emphasizes the relationships between the data objects in computer programs. Re-usability is stressed through the use of generic data abstractions such as the C++ Standard Template Library. Prerequisites: CS 164, MTH 199 or 170 or 142. Credit 3.

CS 234 NETWORKS I. Installation, usage, and management of computer hardware and operating systems for business. Topics include scripting, macros, intelligent agents. Installation and management of networks, the Internet, and communications software is covered. Prerequisite: CS 164. Credit 3.

CS 272 COMPUTER ORGANIZATION I. This course examines the functional components of computer systems. Topics discussed include processors, memory types and hierarchies, buses, I/O, interrupts, etc. with emphasis on how they affect program execution, parameter passing and inter-program communications between programs written in diverse languages. Prerequisite: CS 164, CS 165 (may be taken concurrently). Credit 3.

CS 278 SPECIAL TOPICS/PROGRAMMING. In-depth study of a programming language used to implement information systems. Real time components, visual techniques, and artificial intelligence will be utilized as appropriate. This course may be repeated for credit with the approval of the undergraduate advisor. A different language must be covered to receive approval for repeat credit. Prerequisite: CS 165. Credit 3.

*CST 290 NETWORK FUNDAMENTALS. This course fosters student development and exposure to information technology through its networking curriculum. Coupled with CST 291, Networking Protocols, this course will address preparatory information needed for successful completion of the CCNA exam providing licensing sought by the computer networking industry. Prerequisite: CST 138. Credit 3.

*CST 291 NETWORKING PROTOCOLS. This course will serve as one of the building blocks of technology program for the general university population, community college transfers, and majors and minors in technology. Coupled with CST 290 Networking Fundamentals, this course will address preparatory information needed for successful completion of the CCNA exam providing licensing sought by the computer industry. Prerequisite: CST 290. Credit 3.

CS 333 COMPUTER ORGANIZATION II. This course is a continuation of Computer Science 272. It is a study of computer systems organization and systems programming. Uni- and multi-processor, SMP, parallel and distributed systems are studied. Prerequisite: CS 272. Credit 3.

CS 334 DATA BASE MANAGEMENT SYSTEMS. This course emphasizes the design of information systems using database software and query language/programming interfaces. Data warehouse concepts are introduced. Legacy systems, LAN and distributed systems based systems are used to give the student hands-on experience in systems development. Prerequisite: CS 165. Credit 3.

CS 336 INFORMATION SYSTEMS DESIGN AND MANAGEMENT. This is a course in the design and implementation of large-scale file and persistent object-based information systems. Client/server systems are covered. Prerequisite: CS 278(COBOL). Credit 3.

CS 362 DATA STRUCTURES. Introductory treatments of such topics as orthogonal lists, strings, arrays, linked lists, multilinked structures, indexed and direct files, and generalized data management and database management systems. Prerequisites: CS 165, MTH299 or MTH143. Credit 3.

*CS 373 HUMAN-COMPUTER INTERACTION. This course presents a comprehensive introduction to the principles and techniques of human-computer interaction. The course examines the event-driven model through the development of applications utilizing graphical design environments and the use of rapid application prototyping to explore a variety of techniques for HCI, particularly in relation to mobile and other non-traditional devices.

CS 394 NUMERICAL METHODS. This course develops the concepts underlying the use of the computer for interpolation, approximations, solutions of equations and the solution of both linear and nonlinear systems equations. Mathematical software and/or user written programs are utilized. Also offered as Mathematics 394. Prerequisites: CS 164 and MTH 143 or consent of instructor. Credit 3.

*CST 390 NETWORK OPERATING SYSTEMS. This course fosters student development and exposure to information technology through its networking curriculum. This course is a follow-on course to CST 290 Networking Fundamentals, and CST 291 Networking Protocols. This course, coupled with CST 391 Network Implementation, provides preparatory information needed for successful completion of the CCNP exam. Prerequisites: CST 290 and 291,. Credit 3.

*CST 391 NETWORK IMPLEMETATION. This course fosters student development and exposure to information technology through its networking curriculum. This course is a follow- on course to CST 390 Network Operating Systems, and will provide preparatory information needed for successful completion of the CCNP exam. Prerequisites: CST 290 , 291 and 390. Credit 3.

CS 396 SWITCHING THEORY. This course is an introduction to Boolean Algebra and graph theory with emphasis on their applications in the design of digital computer software and hardware. Logic systems are designed and analyzed. Prerequisite: CS272. Credit 3.

CS 430 LANGUAGE TRANSLATORS. This course deals with the design and implementation of assemblers, interpreters and compilers. Topics include symbol tables, lexical scanning, syntactic analysis, object code generation and storage allocation. Programming assignments will involve implementation of functional components of a translator. Prerequisites: CS 272 and CS 362. Credit 3.

CS 431 COMPUTER OPERATING SYSTEMS. This course is concerned with software organization of computer systems. It is intended to bring together the concepts and techniques of programming languages, data structures and computer organization by considering their role in the design of general computer systems. The problems which arise in multi-accessing, multiprogramming, and multiprocessing are emphasized. Prerequisites: CS 333 and CS 362. Credit 3.

CS 437 SOFTWARE ENGINEERING. This course is an introduction to formal methods of specifying, designing, implementing and testing software for large programming projects. Methods of estimating and predicting reliability are discussed. Prerequisite: 3 hours of advanced CS and CS 334. Credit 3.

CS 438 COMPUTER GRAPHICS. This course introduces graphical API’s used in developing graphical user interfaces and multimedia applications. Topics covered are selected from the PHIGS, Windows, Presentation Manager, X Windows, digital video and other appropriate technologies. Prerequisite: 6 advanced hours of CS. Credit 3.

CS 463 NETWORKS II. This course covers the architecture and protocols of local and wide area networks. Peer to peer and client/server configurations based upon DOS, OS/2 and Unix servers and clients are covered. Assignments involve the setup, configuration and monitoring of Novell and Lan Server networks. Prerequisite: 6 advanced hours of CS. Credit 3.

CS 470 SPECIAL TOPICS IN COMPUTER SCIENCE. Topics of general interest are offered on a timely basis. Previous topics include Cognitive Computing, Embedded Linux Systems, Visual Graphics/Component Systems. Prerequisites: For all CS 470 topics — 6 hrs. advanced CS. Credit 1-3.

CS 477 SIMULATION. This is an introduction to simulation methodology applicable to all disciplines. It covers the design of simulation experiments, validation of models and their computer implementation. The use of a generalized simulation language is introduced and applied in class projects. Prerequisites: 6 advanced hours CS and MTH 379. Credit 3.

CS 482 PROGRAMMING LANGUAGES. This course emphasizes programming languages which support the Object-Oriented Programming (OOP) paradigm. Programming assignments are used to illustrate the features and weaknesses of the language and to develop the student’s proficiency in the use of OOP technology. Prerequisite: CS 165. Credit 3.

*CST 491 MICROSOFT SYSTEMS I . This course provides student development and exposure to information technology through its Windows 2000 Professional curriculum. It will serve as an advanced building block in the technology program and the general university population. Coupled with CST 492 Microsoft Systems II, this course will contribute to the student’s preparation for successful completion of the MCSE exam. Prerequisites: CST 290 and 291. Credit 3.

*CST 492 MICROSOFT SYSTEMS II. This course fosters student development and exposure to information technology through its Windows 2000 Server curriculum. It will serve as an advanced building block in the technology program and the general university population. Coupled with CST 491 Microsoft Systems I, this course will contribute to the student’s preparation for successful completion of the MCSE exam. Prerequisite: CST 491. Credit 3.

*Subject to action by the Board of Regents, The Texas State University System, and the Texas Higher Education Coordinating Board.



Subject to Change Disclaimer