Chair and Professor-Ali. Professors-Davis, Early, Hwang. Associate Professors-Durrett, McCabe, Ogden, Peng, Sawey. Assistant Professors-Amon, Goss, Hall, Hazlewood, Slomka. Lecturers-Kaikhah, Reichenau.
The Department of Computer Science offers courses in computer architecture, compilers, operating systems, UNIX programming, system programming, software engineering, computer graphics, data base design, computer networks, system simulation, distributed systems, automata theory, human factors, real-time computing, managing computer operations, scientific programming, artificial intelligence, and computer science education. The department offers a major and minor in Computer Science with courses leading to the BS or BA degree. Other courses are available for students seeking teacher certification.
Computer Science graduates work in every sector of industry: hardware manufacture; software development; computer applications in the petroleum, aerospace, and chemical industries; and secondary school teaching.
The Applied Software Technology Research Center (ASTRC) at Southwest Texas State University was established specifically to help organizations stay abreast of the theory and application of software technology. The ASTRC has two basic programs: to perform applied research to develop computer science and software engineering technologies and to assist organizations transfer and apply computer science and software technologies.
The Computer Science department website is http://www.cs.swt.edu/
For more information about bachelor's degrees, call (512) 245-3409 or visit the department, in the Mathematics and Computer Science Building, Room 560.
Notes:
Freshman
Year First
Semester Hours Computer
Science 1108, 1318 4 Communication
1310* 3 General
Studies 1100* 1 English
1310* 3 History
1310* 3 Mathematics
1315, 1319, or higher 3 17 Second
Semester Hours Computer
Science 2308 3 English
1320* 3 Mathematics
2358 3 History 1320* 3 Philosophy
1305* 3 Phy. Fitness
Perspective (one course)* 1 16 Sophomore
Year First
Semester Hours Computer
Science 3358, 3409 7 Mathematics
3398 3 Modern
Language 4 Natural
Science Perspective 4 18 Second
Semester Hours Computer
Science 2318 3 Modern
Language 4 Minor
6 Natural
Science Perspective** 4 Social
Science Perspective* 3 17 *See the General
Studies section of this catalog. **SOCI 3300 is
recommended. ***The student must
take two 4-hour laboratory courses in the Geology 1410,
1420; or Physics 1410, 1420 are same science. Biology
1410, 1420; Chemistry 1410,1420; recommended. Junior
Year First
Semester Hours Computer
Science 3398 3 English
(Literature)* 3 Minor 3 Phy. Fitness
Perspective (one course)* 1 Modern
Language 3 Mathematics
3 16 Second
Semester Hours Computer
Science advanced 6 English
(Literature or 3303 or 3313) 3 Minor
3 Modern
Language 3 18 Senior
Year First
Semester Hours Computer
Science advanced 6 Political
Science 2310* 3 Minor
6 15 Second
Semester Hours Computer
Science 4326 or 4398 3 Computer
Science 3 Art, Dance,
Music, or Theatre 3313* 3 Political
Science 2320* 3 Minor
3 15
*See the General Studies
section of this catalog.
Requirements are the same as in the Bachelor of Arts degree, except:
1. Computer Science 3339 plus an additional 2 semester hours of Computer Science electives are required.
2. A total of 17 hours in Math is required: 2358, 2471, 2472, 3305, and 3398. The mathematics requirements, plus enough mathematics electives to total 21 hours of mathematics, serve as a minor.
3. An additional 8 hours of natural science are required, not necessarily from the natural science perspective list.
4. The sophomore year of modern language is not required.
Computer Science as a Teaching Field
Students seeking certification to teach Computer Science will follow coursework leading to the BA or BS degree and will take courses prescribed by the Texas Education Agency. Initial or additional certification may be acquired after completing the bachelor's degree, while enrolled in a master's program, or as post-graduate work. Students interested in certification should see the Computer Science education adviser in the Department of Computer Science.
Minor in Computer Science
A minor in Computer Science consists of Computer Science 1108, 1318, 2308, 2318, 3358, 3409 and at least six advanced hours in Computer Science. Mathematics 2358 and 3398 are also required.
Courses in Computer Science (CS)
1108 Computer Science Seminar. (1-0) An orientation to possible areas of specialization in computer science and an introduction to campus computing facilities including computer center policies, operating systems, command language, text editor, and text formatting. Required of all computer science majors and minors.
1308 Introduction to Computer Science. (2-2) A study of the uses of computers and their effects on society. Some programming in a procedure-oriented language. An introductory course assuming no previous computer or other technical background.
1318 Foundations of Computer Science. (3-0) An introductory technical course for potential majors in computer science. Logical organization and operation of a computer; development of algorithms; programming in a structured language; number systems and data representations; Boolean algebra; combinational digital circuits. Prerequisite: A grade of C or better, or concurrent registration in, CS 1108.
2308 C Programming. (3-0) Logical basis of a digital computer system; machine representation of numbers and characters; flow of control, arithmetic and logical operations, machine control, input-output, basic number codes and programming. Prerequisite: A grade of C or better in CS 1318.
2318 Assembly Language. (3-0) A course covering the organization of digital computers; assembly language programming including addressing, looping, logic, shifting and masking operations, macros, subroutines, co-routines, arithmetic algorithms, recursion and input-output programming. Prerequisites: A grade of C or better in CS 2308 and CS 3409.
2378 Topics in Computer Science. (3-0) Selected topics in Computer Science from areas of system programming, data structures, database, computer architecture, etc. Materials will be designed to the needs of the class. May be repeated with different emphasis for additional credit. Prerequisite: Consent of instructor.
2388 Internet Programming on the World Wide Web. (3-0) An introductory course covering web page construction using HTML and Java Script.
2428 Applications Programming in Visual Basic. (3-1) This course is a self-contained programming course using the new language, Visual Basic, suitable for Windows applications.
2478 Topics in Computer Science. (3-2) Selected topics in Computer Science from areas including software engineering, programming languages, and computer architecture. Laboratory is integrated with lecture topics. Materials will be designed to the needs of the class. May be repeated with different emphasis for additional credit. Prerequisite: Consent of instructor.
2488 FORTRAN Programming for Science and Engineering. (3-2) An introduction to high level programming languages emphasizing techniques common to the sciences. Topics are selected from numerical approximation, linear systems, statistics and simulation. Prerequisite: A grade of C or better in Mathematics 1315.
3339 Computer Architecture. (3-0) Use of fundamental hardware components to create computer instruction set architectures, ALU's, single and multiple cycle datapath and control, RISC vs. CISC, pipelining, caches, I/O, virtual memory, and related performance issues. Prerequisites: Grade of C or better in CS 2318 and 3409.
3348 Deterministic Operations Research. (3-0) This course provides a broad view of deterministic operations research techniques. Topics include dynamic programming, linear and integer programming, deterministic inventory models, and sequencing problems. See Math 3348. Prerequisite: Math 1315 with a grade of at least C.
3358 Data Structures. (3-0) A course covering data structures and file handling techniques in a high level language. Prerequisites: A grade of C or better in CS 2308 and Math 3398.
3378 Theory of Sequential Machines. (3-0) An introduction to automata, computability, and formal languages. Prerequisite: A grade of C or better in CS 2318.
(WI) 3398 Software Engineering. (3-0) The study of software design, implementation, and validation techniques through team projects. Structured analysis, programming style and project documentation are emphasized in software projects large enough to give a group meaningful work experience. Prerequisite: A grade of C or better in CS 3358.
3409 Fundamentals of Computer Technology. (3-2) An introduction to computer hardware and the technologies used to create, capture, and communicate digital information. A laboratory provides hands-on experience with the subject matter, e.g. electricity, combinational and sequential digital circuits, VLSI, etc. Prerequisite: Grade of C or better in Math 2358.
(WI) 3468 Small Scale Computer Systems. (3-2) A study of the architecture of mini- and micro-computers, their peripherals, languages, and operating systems, and the special techniques required to use them. Prerequisites: A grade of C or better in CS 2318 and 3409.
4100 Computer Science Internship. (1-0) Provides on-the-job training supervised by computer scientists in industry internship programs approved by the computer science department.
4310 Computer Networks. (3-0) A survey of network architectures and their components. Emphasis will be on media access, network and transport layer protocols. Prerequisite: A grade of C or better in CS 3358.
4318 Theory of Program Translators. (3-0) A study of computer languages, data structures, algorithms and theory used in constructing compilers and other program translators. Prerequisites: A grade of C or better in CS 3358.
(WI) 4326 Human Factors of Computer Systems. (3-0) An introduction to basic principles and research findings in the two fields of cognition, perception and systems analysis as they apply to the design and use of computer systems. Prerequisite: A grade of C or better in CS 3358.
4328 Operating Systems. (3-0) Principles of operating systems. Algorithms for CPU scheduling, memory management, cooperating sequential processes and device management. Prerequisites: A grade of C or better in CS 2318 and 3358.
4332 Introduction to Database Systems. (3-0) Introduction to database concepts, data models, file structures, query languages, database management systems. Prerequisite: A grade of C or better in CS 3358.
4340 Systems Simulation. (3-0) A study of the fundamentals of building and using computer-based models to investigate the behavior of systems composed of inter-related elements characterized by probabilistic behavior by providing literacy in the use of discrete-event simulation as a problem-solving tool. Prerequisite: Three hours of statistics or permission of the instructor.
4346 Introduction to Artificial Intelligence. (3-0) An introduction to the basic concepts of artificial intelligence; search techniques, knowledge representation, problem solving. Prerequisite: A grade of C or better in CS 3358.
4350 UNIX Programming. (3-0) Fundamentals of UNIX operating systems, UNIX programming tools, UNIX programming environment, shells, and shell programming. Prerequisite: Grade of C or better in CS 3358.
4364 Real-Time Computing Applications. (3-0) An introduction to the problems, concepts, and techniques in software systems that must interface with time dependent systems. The course concentrates on application systems by carrying out example projects, but it also covers operating system features necessary to support real-time applications. Prerequisite: A grade of C or better in CS 3358.
4368 Survey of Computer Languages. (3-0) Differences in language implementations and structures caused by differing program goals are examined by surveying languages such as LISP, ADA, SNOBOL, C++ and others. Prerequisite: A grade of C or better in CS 3358.
4378 Topics in Computer Science. (3-0) Selected topics in Computer Science from areas of system programming, data structures, data base, computer architecture, or other subjects for undergraduate junior/senior students. Materials will be designed to the needs of the organized lecture class. May be repeated with different emphasis for additional credit. Prerequisite: Consent of instructor.
4378H Managing Computer Operations. (3-0) Selected topics on general management and specific topics in computer management including organization, staffing, procurement, security, and system administration. Other topics include facility planning, capacity planning, strategic planning, disaster recovery planning, system development methodologies and project management. Prerequisiste: At least junior classification, majoring in Computer Science or related field.
4378P Introduction to Digital Multimedia. (3-0) Concepts, problems and techniques in digital multimedia. Topics include digital representation of video and data compression. Applications, primarily in education and business presentations, and new and potential capabilities, such as video on demand and virtual reality. Prerequisite: CS 3358.
4388 Computer Graphics. (3-0) A study of the hardware and software used in graphic representation and interpretation of data. Prerequisites: A grade of C or better in CS 3358 and Math 1317.
4395 Independent Study in Computer Science. (3-0) Open to undergraduate students on an independent basis by arrangement with the faculty member concerned.
(WI) 4398 Software Engineering Project. (3-0) Students undertake a software development project. They work in teams, writing the requirements and design documents, and then the teams produce and test the software. The lectures cover updated techniques of analysis, design, implementation, and testing software. Prerequisite: A grade of "C" or better in CS 3398.
For course descriptions and further information about available graduate offerings, please consult the Graduate Catalog. In addition, graduate and undergraduate information about the Computer Science program can be found on the departmental World Wide Web site located athttp://www.cs.swt.edu