Computer Science

Faculty/Staff

Daryl D. Thomas, Chair; Miguel Espinosa, Judith F. Miles

Aims of the Program

The primary mission of the Department of Computer Science is to prepare students for professional work in the field of computer science, within a Christian context. A secondary mission of the Department is to provide service courses in computer science to the University community at-large.

The Department of Computer Science offers two bachelor of science degree programs. The first, the Bachelor of Science in Computer Science, is intended for students who wish to pursue careers in computer science, either in industry or in academia. The second program, offered in collaboration with the Department of Business Administration, is a composite major leading to a Bachelor of Science in Business Administration and Computer Information Systems. This program is intended for students who wish to apply the tools of computer science in a management context. The Department also offers a minor in Computer Science.

In addition to the course requirements set forth below, each student majoring in Computer Science or in Computer Information Systems must successfully develop and release a useful program under an open-source model.

Programs

  • B.S. Computer Science
  • B.S. Computer Information Systems and Business (Composite Major)
  • Computer Science minor

Computer Science, B.S.

CSIS 110, 111 Principles of Computer Programming I, II 6
CSIS 125 Discrete Structures I 3
CSIS 201 Information Literacy for CS Majors 1
CSIS 211 Data Structures & Algorithms 3
CSIS 215 Object-Oriented Programming in C++ 3
CSIS 225 Discrete Structures II 3
CSIS 245 Introduction to LAN Technology 4
CSIS 301 Issues and Practices in Information Security 3
CSIS 310 Assembler Programming & Machine Organization 3
CSIS 315 Application Development for Event-Driven GUI Applications 3
CSIS 360 Operating Systems 3
CSIS 405 Formal Languages and Automata 3
CSIS 445 Internetwork Architectures 3
CSIS 450 Principles of Database Design 3
CSIS 490 Software Engineering 3
PHYS 305 Digital Electronics 4
C.S. Elective (upper division) 3
Total: 54

Required Cognates:

PHYS 121 General Physics I 4
PHYS 122 General Physics II 4
MATH 121 Precalculus 3
MATH 181 Calculus I 4
MATH 241 Intro to Probability & Statistics 3
COMM 115 Discussion Techniques 3
Total: 21
General Education and Elective Courses: 53
Grand Total: 128

The Bachelor of Science in Computer Science is a composite major. It therefore does not require a minor.

We strongly suggest that students seeking a Bachelor of Science in Computer Science or the Composite Major in Computer Information Systems and Business plan to take their major courses in the following sequence:

Freshman - Fall Semester CSIS 110
- Spring Semester CSIS 111, CSIS 125
Sophomore - Fall Semester CSIS 211, CSIS 225
- Spring Semester CSIS 201, CSIS 215, CSIS 245
Junior - Fall Semester CSIS 301, CSIS 310, CSIS upper division elective
- Spring Semester CSIS 360, CSIS 450
Senior - Fall Semester CSIS 315, CSIS 445
- Spring Semester CSIS 405, CSIS 490

All students pursuing majors or minors in this department should plan on enrolling in MATH 121 in the fall semester of their Freshman year.

Composite Major in Business and Computer Information Systems, B.S.

Students who wish to pursue this program must make formal application both to the Department of Business Administration and the Department of Computer Science.

Business Courses:

ACCT 211 Accounting Principles I 3
BUAD 203 Research in Business 1
BUAD 301 Principles of Management 3
BUAD 302 Advanced Software Applications 3
BUAD 311 Business Law I 3
BUAD 317 International Business Communication 3
BUAD 321 Business Finance 3
BUAD 472 Business Policies and Strategies (Capstone) 3
BUAD 496 Senior Business Seminar 1
MKTG 232 Principles of Marketing 3
Electives* 9
Total: 35

Computer Information Systems Courses:

CSIS 110, 111 Principles of Computer in Programming I, II 6
CSIS 125 Discrete Structures I 3
CSIS 201 Information Literacy for CS Majors 1
CSIS 211 Data Structures & Algorithms 3
CSIS 215 Object-Oriented Programming C++ 3
CSIS 225 Discrete Structures II 3
CSIS 245 Introduction to LAN Technology 4
CSIS 303 E-Commerce and Web Site Design 3
CSIS 310 Assembler Programming & Machine Organization 3
CSIS 315 Application Development for Event-Driven GUI Applications 3
CSIS 360 Operating Systems 3
CSIS 445 Internetwork Architectures 3
CSIS 450 Principles of Database Design 3
CSIS 490 Software Engineering 3
Total: 44

Required Cognates:

MATH 241* Intro to Probability and Statistics 3
COMM115 Discussion Techniques 3
Total: 6

*MATH 110 is a prerequisite for this class.

Computer Science Minor

CSIS 110, 111 Principles of Computer Programming I, II 6
CSIS 125 Discrete Structures I 3
CSIS 211 Data Structures & Algorithms 3
CSIS 215 Object-Oriented Programming in C++ 3
CSIS 225 Discrete Structures II 3
CSIS 245 Introduction to LAN Technology 4
CSIS 315 Application Development for Event-Driven GUI Applications 3
CSIS 445 Internetwork Architectures 3
Total: 28

Courses

CSIS 100 - Essential Computer Skills (1 hour)

This course covers basic computer skills and knowledge needed to use the Windows environment, Internet search engines, e-mail, and word processing software to create, edit, and print documents. (Fall, Spring)

CSIS 102 - Microcomputer Literacy and Applications (3 hours)

An introduction to the use of microcomputers, oriented toward future microcomputer users, not computer specialists. Topics include history of the field, computer hardware, software, operating systems, the Internet, and information systems. Students will work with popular applications for business and personal use, including web browsers, word processors, spreadsheets, and databases. (Fall, Spring)

CSIS 104 - Spreadsheet and Database Applications (1 hour)

A one-hour computer applications course focusing on developing spreadsheet and relational database skills.  It will include a brief review of word processing, digital presentation techniques, and computer concepts.  Students will use realistic examples that emphasize how database and spreadsheets can be used to increase productivity.

CSIS 110 - Principles of Computer Programming I (3 hours)

Introduction to problem solving using computers. Topics include top-down design, algorithm development, information representation, and programming using the Java language. Assumes a basic knowledge of PC operation. (Fall)

CSIS 111 - Principles of Computer Programming II (3 hours)

Prerequisite: CSIS 110

A continuation of CSIS 110 with emphasis on elementary data structures and advanced techniques. Students will be introduced to C++. (Spring)

CSIS 125 - Discrete Structures I (3 hours)

Prerequisite: MAP score of 49, or Corequisite: MATH 110

An introduction to the basics of discrete mathematics as applied in computer science. Topics include elementary logic, propositional logic, predicate logic, proof techniques, sets, relations, functions, counting, elementary number theory, and Boolean algebra. (Spring)

CSIS 201 - Information Literacy for CS Majors (1 hour)

Prerequisite: ENGL 121

An introduction to the research methods, documentation techniques, and publication styles commonly used in the field of computer science. Specific topics to be covered will include: the software development process, trends in computer science research, the peer review process, quality evaluation of sources, IEEE publication guidelines, the IEEE style manual, and the portfolio development process. This course fulfills the requirement for UNIV 201: Research in an Academic Discipline as specified in SWAU's Quality Enhancement Plan. (Fall)

CSIS 211 - Data Structures and Algorithms (3 hours)

Prerequisite: CSIS 111, CSIS 125

A continuation of CSIS 111's study of data structures, and a study of the time-complexity of algorithms. There will be an emphasis on choosing the appropriate storage arrangement and the appropriate algorithms to manipulate data, both in high-speed memory, on mass storage devices, or using a combination of the two. (Spring)

CSIS 215 - Object-Oriented Programming in C++ (3 hours)

Prerequisite: CSIS 111 or Instructor's approval

A development of a strategic object-oriented approach to problem solving — analysis, design and coding — using the C++ language. There will be a focus on the use of classes to implement abstract data types, thus supporting the modern approach to loosely linked, modular code. The overloading of functions and operators, inheritance, and polymorphism will be studied as abstraction tools. (Spring)

CSIS 225 - Discrete Structures II (3 hours)

Prerequisites: CSIS 125 A continuation of the study of discrete structures begun in CSIS

125. Topics include recurrence relations, graphs and trees, matrices, discrete probability, computational complexity, and elementary computability. (Fall)

CSIS 245 - Introduction to Local Area Network Technology (4 hours)

Prerequisite: CSIS 111, CSIS 225

A practical introduction to current LAN network technologies, with emphasis on Ethernet. Topics include: signal encoding, channel access/utilization, integration/configuration/operation of hardware, cabling, protocols, and LAN operating systems. (Spring)

CSIS 291 - Selected Topics (1-3 hours)

Prerequisite: Permission of Department Chair

Designed for the student who wishes to do independent study or research. Content and method of study must be arranged prior to registration. May be repeated for a total of 6 credits.

CSIS 301 - Issues and Practices in Information Security (3 hours)

Prerequisite: CSIS 110 or permission of Instructor.

An examination of the issues to be considered and practices typically employed when implementing security measures to protect computing resources and data. Topics to be considered include basics of computation and networking, as well as securing communications channels, computer systems, and information resources. (Fall)

CSIS 303 - E-Commerce & Web Site Design (3 hours)

Prerequisite: CSIS 110.

An examination of the ground rules for competitive survival in the new market space of electronic commerce, including the electronic channels of well-designed Web sites and their impact on small and large business entities. Emphasis will be placed on analyzing information and applying graphic design techniques to develop effective Web pages for on-line business. Topics include e-commerce, navigation, security issues, networks, business models, and an overview of Web design and development tools. (Also taught as MKTG 303.) (Springl)

CSIS 310 - Assembler Programming and Machine Organization (3 hours)

Prerequisites: CSIS 225

An introduction to assembler language programming and computer organization and architecture. (Fall)

CSIS 315 - Application Development for Event-Driven GUI Applications (3 hours)

Prerequisites: CSIS 215

An introduction to the event-driven programming model using a windowed graphical user interface. Emphasis will be on using available tools and libraries to speed the development of significant applications. (Fall)

CSIS 360 - Operating Systems (3 hours)

Prerequisites: CSIS 310

A study of operating system organization, job control, I/O, and resource management. Emphasis will be placed on features of the Linux O/S. (Spring)

CSIS 370 - Programming Languages (3 hours)

Prerequisite: CSIS 211

Comparative study of programming languages with emphasis on formal language specification and analysis, run-time behavior, and implementation. (Springl)

CSIS 405 - Formal Languages and Automata (3 hours)

Prerequisite: CSIS 225.

An introduction to formal language theory, with emphasis on regular and context-free grammars. Topics include: language properties, the Chomsky Hierarchy, Finite State Machines, uncomputability, and computational complexity. (Spring)

CSIS 445 - Internetwork Architectures (3 hours)

Prerequisite: CSIS 245

An in-depth study of internetwork architectures. Topics include: protocols, switching, WAN routing, interconnectivity, virtual circuits, Client/Server based distributed applications, and distributed processing. (Fall)

CSIS 450 - Principles of Database Design (3 hours)

Prerequisite: CSIS 211

Course covers design and implementation of databases with emphasis on structures and schemas, information retrieval, SQL, security, and integrity. (Fall)

CSIS 490 - Software Engineering (3 hours)

Prerequisite: CSIS 315

A study of the management and implementation of programming projects. Topics include project management, scheduling and control, programming assignments and specifications, testing and documentation, system implementation, and evaluation. Students will be required to complete a significant team project involving both design and implementation. This course fulfills the requirement for an upper-division course with components as specified in SWAU's Quality Enhancement Plan. (Spring)

CSIS 491 - Selected Topics (1-3 hours)

Prerequisite: Approval by Department Chair

Designed for the student who wishes to do independent study or research. Content and method of study must be arranged prior to registration. May be repeated for a total of 6 credits.

CSIS 492 - Computer Science Internship (1-3 hours)

Prerequisite: Approval by Department Chair

On-the-job supervised experience in a field of computer science related to the student's concentration area. Limited to senior majors. May be repeated for a total of 6 credits.

CSIS 495 - Special Topics Seminar (1-3 hours)

Prerequisite: Approval by Department Chair

Covers topics of special interest such as new developments in the field of computer science, as well as occasional specialized topics such as artificial intelligence, computer graphics, etc. May be repeated for a total of 6 credits.