**Major in Computer and Mathematical Modeling (BS)**

**Required courses in computer science: 26 credit hours
**

CS 145 Computer Science 1 (3)

CS 245 Computer Science 2 (3)

CS 327 Hands-on UNIX (1)

CS 328 C and UNIX (3)

CS 350 Programming Seminar 1 (3)

CS 421 Advanced Data Structure& Algorithm Develop (3)

CS 451 Software Engineering (3)

CS 481 Senior Project Design (1)

CS 482 Senior Project Implementation (3)

CS 477 Parallel & Distributed Programming (3)

**Required courses in mathematics: 41 credit hours**

MATH 211 Calculus 1 (4)

MATH 252 Calculus 2 (4)

MATH 273 Calculus 3 (4)

MATH 317 Discrete Mathematics (4)

MATH 320 Linear Algebra (4)

MATH 325 Differential Equations (3)

MATH 345 Mathematical Stats 1 (3)

MATH 407 Mathematical Models (3)

MATH 421 Applied Abstract Algebra (3)

MATH 425 Intro to Real Analysis (3)

MATH 426 Intro to Complex Variable (3)

MATH 444 Matrix Theory and Applications (3)

**Specialization Sequences**

The following comprise a list of three different 400-level tracks with a focused curriculum concentration. Students will select, with approval of their adviser, one of these tracks to study in their fifth year.

**Track 1, Modern Cryptography: 12 credit hours**

MATH 415 Intro to Cryptography (3)

MATH 419 Modern Methods of Cryptography (3)

**Electives:**

Two 400-level computer science courses approved by an adviser.

**OR**

**Track 2, Discrete Dynamical Systems and Chaos: 12 credits**

MATH 401 Discrete Chaos and Fractals (3)

MATH 402 Discrete Dynamical Systems and Chaos (3)

**Electives:**

Two 400-level computer science courses approved by an adviser.

**OR**

**Track 3, Applied Multivariate Statistics: 12 credit hours**

MATH 460 Applied Multivariate Statistics 1 (3)

MATH 461 Applied Multivariate Statistics 2 (3)

**Electives:**

Two 400-level computer science courses approved by an adviser.

**Other requirements: 9 credit hours**

MATH 4XX Math Elective (3)

CS 4XX Computer Science Elective (3)

ENGL 367 Technical Writing (3)

Major Total: 88 credit hours

Core Total: 35 credit hours

Extended core: 5 credit hours

**Total for degree: 128 credit hours***

**A minor is not required. The degree total of 128 credit hours may be exceeded if proficiency courses are required. The university requires a minimum of 45 upper-division units for the degree.*

** Major in Computer Science (BS/BA) **

**Required core: 22 credit hours for the BS and BA
**

CS 144 Introduction to Computer Science (3)

CS 145 Introduction to Object-oriented Programming (3)

CS 245 Advanced Computer Programming (3)

CS 350 Programming Seminar 1 (3)

CS 431 Database Management (3)

CS 451 Software Engineering (3)

CS 481 Senior Project Design (1)

CS 482 Senior Project Implementation (3)

**Core Total: 22 credit hours**

* Required concentration*:
Choose from the software and hardware systems, information systems, or individualized software/hardware systems concentration (BS).

** Concentration in Software/Hardware Systems (BS)**

Students of computer science concentrating in software/hardware systems follow a program of study designed within the framework of the guidelines established by the Association for Computing Machinery. Students study computer programming systems for a wide variety of applications in professional, scientific, engineering, and technical settings. Thorough exposure, with plenty of hands-on laboratory work, is given in computer science basics, one or more computer languages, and such topics as data and file structures, database management, algorithms, machine organization, assembly language, and operating systems. A solid foundation is acquired in mathematics: computer science students complete mathematics courses through introductory calculus, applied linear algebra, and introductory statistics.

The program at Highlands stresses not only solid technical and theoretical knowledge, but also the real-world skills of written and oral communication, planning, and organization of tasks. Students completing the major should be prepared to work in industry or go on to graduate school. Minor students may readily convert to major status.

**Required courses: 19 credit hours**

CS 341 Machine Architecture and Assembler Language Programming (3)

CS 345 Data & File Structure (4)

CS 421 Advanced Data Structure and Algorithm Development (3)

CS 443 Operating Systems (3)

CS 450 Programming Seminar 2 (3)

CS 461 Programming Language (3)

**Electives: 9 credit hours**

Choose one course from the following list:

CS 314 The C++ Programming Language (3)

CS 316 Programming in LISP & PROLOG (3)

CS 328 C and UNIX (3) CS 418 Multimedia Program (3)

CS 463 Web Programming (3)

CS 471 Artificial Intelligence (3)

Also choose at least six credits in courses at the 300 or 400 level in computer science, mathematics, or an appropriate science, selected with the approval of the major adviser.

**Additional required courses: 24 credits
**

ENGL 367 Technical Writing (3)

ENGR 384 Microprocessor Design (3)

MATH 211 Calculus 1 (4)

MATH 252 Calculus 2 (4)

MATH 317 Discrete Math (4)

MATH 320 Linear Algebra (3)

MATH 345 Math Statistics 1 (3)

Concentration Total: 52 credit hours

Required cores: 22 credit hours

Major Total: 74 credit hours

Core Total: 35 credit hours

Extended core: 5 credit hours

Proficiency/Electives to 120: 6 credit hours

**Total for degree: 120 credit hours***

**A minor is not required. Additional credit hours may be required to meet the 120-credit degree requirement if proficiency or other required courses are waived for content only. English and math proficiency credit do not count toward the 120-credit requirement. The university requires a minimum of 45 upper-division units for the degree.*

**Concentration in Information Systems (BA)**

Students within this concentration learn to apply skills and knowledge in programming and systems design to the world of business. A special selection of courses from the School of Business Media and Technology is offered in conjunction with intensive courses in contemporary computer science and information systems. Minor students may readily convert to major status. Computer science students with a concentration in information systems find work in diverse business settings, either managing or designing computer systems.

The Highlands program stresses a solid foundation in programming involving data and files structures, and gives students practical experience in hardware, operating systems, and networks. In addition, specific application to the world of business systems is provided by courses in business data processing, software design, and systems analysis.

**Required core: 22 credit hours**

**Required courses: 14 credit hours**

CS 211 Intro to Object-Oriented COBOL for Business Data Processing (3)

**OR**

CS 318 Business Apps Programming (3)

CS 331 Decision Support Systems (3)

CS 351 Systems Design & Analysis (3)

CS 457 Computer Networks (3)

CS 483 Senior Project Presentation (2)

**Electives: 9 credit hours**

Choose three credits from the following list:

CS 131 A Gentle Introduction to Internet (1)

CS 325 Computer Hardware Install and Maintenance (1)

CS 326 Computer Software Installation (1)

CS 327 Hands-on UNIX (1)

CS 335 Select Topics (1)

Also choose at least six credits in courses at the 300 or 400 level in computer science, mathematics, business, or an appropriate discipline, selected with the approval of the major adviser.

**Additional required courses: 15 – 16 credits**

ACCT 287 Principles of Financial Accounting (3)

MATH 317 Discrete Math (4)

**OR
**

MATH 345 Math Statistics 1 (3)

ENGL 367 Technical Writing (3)

MGMT 303 Principles of Management (3)

MGMT 386 Human Resource Management 1 (3)

Concentration Total: 38 – 39 credit hours

Required cores: 22 credit hours

Major Total: 60 – 61 credit hours

Core Total: 35 credit hours

Extended core: 5 credit hours

Minor to 120: 18 credit hours minimum

Proficiency/Electives to 120: 2 credit hours

**Total for degree: 120 credit hours***

**A minor is required. The number of electives to reach the degree total of 120 credit hours will vary by the number of credit hours required by the major and minor. Additional credit hours may be required and exceed the 120-credit degree requirement if proficiency or other required courses are waived for content only. English and math proficiency credit do not count toward the 120-credit requirement. The university requires a minimum of 45 upper-division units for the degree.*

**Major in Computer Science with an Individualized Concentration (BA/BS)**

Computer Science offers a major leading to a bachelor of arts or bachelor of science degree that permits students to develop their own computer science-related course of study. Programs under this option must consist of a coherent sequence of courses and must be approved by a faculty member from the related field. Possible programs of study include scientific computing, communication technology, networking, computer engineering, artificial intelligence, graphics, or advanced multimedia and web programming studies to prepare students for graduate work. Students are strongly encouraged to seek approval prior to completing courses to fulfill this requirement.

**Required courses: 3 credit hours**

CS 443 Operating Systems (3)

**Electives: 12 credit hours**

Choose at least 12 credits in computer science selected with the approval of the major adviser.

**Additional required courses: 30 credit hours**

ENGL 367 Technical Writing (3)

Choose at least 12 credits in one or more related fields with the approval of the major adviser.

Choose at least nine credits in courses at the 300 or 400 level in computer science or in one or more related fields with the approval of the major adviser.

Choose at least six credits in mathematics starting with Math 140 or above.

Concentration Total: 45 credit hours

Required cores: 22 credit hours

Major Total: 67 credit hours

Core Total: 35 credit hours

Extended core: 5 credit hours

Minor to 125: 18 credit hours minimum

**Total for degree: 125 credit hours***

**A minor is required. The number of electives to reach the degree total of 125 credit hours will vary by the number of credit hours required by the major and minor. Additional credit hours may be required and exceed the 125-credit degree requirement if proficiency or other required courses are waived for content only. English and math proficiency credit do not count toward the 125-credit requirement. The university requires a minimum of 45 upper-division units for the degree.*

**Major in Math and Computer Science for Secondary School Teachers (Grades 7-12)**

This major requires a core of courses from mathematics and computer science. Graduates of the program will be equipped to teach both mathematics and computer science in secondary schools. The purpose of the major is to provide secondary school teachers in training with a fundamentally strong background in mathematics and computer science. This will create a greater pool of talent in math and computer science education, from which middle and high school teachers can be drawn. The program has been designed to emphasize the fundamental understanding of both mathematics and computer science.

The objectives of the math and computer science major are to:

- Provide secondary teachers in training a program that will adequately prepare and encourage them to teach the expected mathematics and computing courses to students in middle and high school math and computer science programs.
- Train math teachers to develop each of the competencies required by the State Board of Education for licensure in math education.
- Broaden the scope of mathematics and computing to secondary school teachers in training, allowing them to develop methods in which to relay the content material to their students so that the students can fully understand what is being taught.
- Provide secondary teachers in training with the background so they can assume responsibility for managing the computing facilities at their school.

**Prerequisite courses: 6 credit hours
**

MATH 140 College Algebra (3*)

MATH 150 Trigonometry (3)

*Applies to university proficiency requirement.

**Major in Math and Computer Science for Secondary School Teachers (BA)**

**Required courses: 40 credit hours
**

CS 144 Introduction to Computer Science (3)

CS 145 Introduction to Object-Oriented Programming (3)

CS 245 Advanced Computer Programming (3)

CS 430 Computer Tech in the Classroom (3)

MATH 211 Calculus 1 (4)

MATH 252 Calculus 2 (4)

MATH 273 Calculus 3 (4)

MATH 320 Linear Algebra (3)

MATH 345 Math Stats (3)

MATH 406 College Geometry (3)

MATH 421 Applied Abstract Algebra (3)

MATH 430 Math Problem Solving (4)

**Electives: 11 credit hours**

Choose one course from the following:

MATH 317 Discrete Math (3)

Any 400-level math course approved by adviser

**Choose two courses from the following:**

CS 325 Comp Hardware Install & Maintenance (1)

CS 326 Comp Software Installation (1)

CS 327 Hands on UNIX (1)

CS 332 Advanced Internet (1)

**Choose two courses from the following:**

CS 350 Programming Seminar 1 (3)

CS 351 System Design & Analysis 1 (3)

CS 456 Internet Services (3)

CS 457 Computer Networks (3)

CS 463 Web Programming (3)

**Other approved three-credit senior level courses in computer science.**

Major Total: 51 credit hours

Core Total: 35 credit hours

Extended core: 5 credit hours

Minor: 18 credit hours minimum

Proficiency/Electives to 120: 11 credit hours

**Total for degree: 120 credit hours***

**A minor is required. The number of electives to reach the degree total of 120 credit hours will vary by the number of credit hours required by the major and minor. Additional credit hours may be required to meet the 120-credit degree requirement if proficiency or other required courses are waived for content only. English and math proficiency credit do not count toward the 120-credit requirement. The university requires a minimum of 45 upper-division units for the degree.*

**Minor in Computer Science with Concentration in Software/Hardware Systems**

**Required courses: 10 credit hours
**

CS 144 Introduction to Computer Science (3)

CS 145 Introduction to Object-Oriented Programming (3)

CS 245 Advanced Computer Programming (3)

CS 327 Hands-on UNIX (1)

**Electives: 9 credit hours**

*Choose one programming course from the following list:
*

CS 314 The C++ Programming Language (3)

CS 316 Programming in LISP & PROLOG (3)

CS 328 C and UNIX (3)

CS 418 Multimedia Programming (3)

CS 463 Web Programming (3)

CS 471 Artificial Intel (3)

Choose at least six credits in courses at the 300 or 400 level in computer science.

**Additional required courses: 4**

MATH 317 Discrete Math (4)

**Minor Total: 23 credit hours**

**Minor in Math and Computer Science for Elementary School Teachers (Grades K-8)**

This minor provides elementary school teachers in training with a fundamentally strong background in mathematics and computer science. The objectives of the math and computer science minor are to:

- Provide elementary teachers in training a program that will adequately prepare and encourage them to teach the fundamental concepts of mathematics and computing to students at the elementary level.
- Broaden the scope of mathematics and computing to elementary school teachers in training, allowing them to develop methods in which to relay the content material to their students so that the students can fully understand what is being taught.
- Provide elementary teachers in training with the background so they can assume responsibility for managing the computing facilities at their school.

**Prerequisites: 9 credit hours
**

MATH 115 Math for Elementary Teachers 1 (3)

MATH 130 Math for Elementary Teachers 2 (3)

CS 101 Living with Computers (3)

*Top*

**Minor in Math and Computer Science for Elementary School Teachers (Grades K-8)**

**Required courses: 15 credit hours
**

MATH 140 College Algebra (3)

MATH 150 Trigonometry (3)

CS 144 Introduction to Computer Science (3)

CS 145 Introduction to Object-Oriented Programming (3)

CS 245 Advanced Computer Programming (3)

**Electives: 12 credit hours**

*Choose two courses from the following:
*

MATH 317 Discrete Math (3)

MATH 345 Math Statistics 1 (3)

MATH 406 College Geometry (3)

Any 300- or 400-level math course approved by adviser

Choose three courses from the following:

CS 325 Computer Hardware Install & Maintenance (1)

CS 326 Computer Software Installation (1)

CS 327 Hands-on UNIX (1) CS 332 Advanced Internet (1)

Any 300- or 400-level computer science course approved by adviser

*Choose one course from the following:
*

CS 456 Internet Services (3)

CS 457 Computer Networks (3)

CS 463 Web Programming (3)

**Minor Total: 27 credit hours**

This program is under the College of Arts and Sciences