Computer Science Major

Students who choose the  Computer Science major have the option to add on the Systems and Theory emphasis in their junior and senior years. As a freshman or sophomore Computer Science major, your focus is on a basic core of courses. Both the major and the emphasis focus on software development, with the differences between them determined by the types of software development skills that you learn.

The following is a brief summary describing the courses required for the major and emphasis. For more detail on course descriptions and course rotations, see the advisement bulletin.

 

Core Courses

 

Course Credits
CS 212 Discrete Structures 3 cr.
CS 221 Object Oriented Design and Programming I 3 cr.
CS 251 Computer Architecture and Assembly Language 3 cr.
CS 262 Object Oriented Design and Programming II 4 cr.
CS 271 Data Structures 4 cr.
CS321 Algorithms 3 cr.
CS 331 Programming Languages 3 cr.
CS 341 Software Engineering I 3 cr.
PHIL 350 Computing Ethics 3 cr.
IS 208 Professional  Career Skills in Math and Natural Science 1 cr.
One of the following:  
CS 399 Internship in Computer Science 3 cr.
CS 490 Practicum in Computer Science 3 cr.

Total:

33 cr.

 

Computer Science Major

The major focuses on knowledge and skills for the design, development, maintenance, and management of software, including software for the operation of instrumentation. It is appropriate for students preparing for careers as systems programmers, systems analysts, software engineers, or computer-based instrumentation specialists.


Requirements in addition to the computer science core:

Course

Credits

Either Math 171 Calculus I or Math 206 Mathematics for Business Analysis II

4-5 cr.

Either Math 201 Applied Statistics, Math 301 Introduction to Probability and Statistics, or Econ 210 Economic and Business Statistics

3 cr.

Electives: 12 credits from the electives courses list. 

12 cr.

Total

19-20 cr.

 

Systems and Theory Emphasis

This emphasis focuses on the fundamental practical and theoretical foundations of computer science, providing an in-depth understanding of both the software and hardware components of computer systems. It is appropriate for students preparing for careers in scientific computing or research, and for students planning to pursue graduate degrees.

The emphasis is accredited by the Computing Accreditation Commission of ABET.


Requirements in addition to the computer science core:

Course Credits
CS 310 Computer Organization and Design 3 cr.
CS 381 Theory of Computing 3 cr.
CS 421 Operating Systems 3 cr.
CS 431 Compilers 3 cr.
CS 499 Computer Science Assessment 0 cr.
Math 171 Calculus I 5 cr.
Math 172 Calculus II OR Math 256 Linear Mathematics 3-4 cr.
Math 201 Applied Statistics OR Math 301 Introduction to Probability and Statistics 3 cr.
Electives: 6 credits from the elective courses list. The chosen electives must not appear above as requirements for the Systems and Theory emphasis. 6 cr.
Total 29-30 cr.

Important Notes:

  1. The Systems and Theory (ST) Emphasis is open only to students pursuing the B.S. degree.
  2. The math and science requirements of the ST emphasis necessitate completion of Mathematics 171, 172 or 256, 201 or 301, CS 212, CS 381; plus an additional 15 units (credits) from other math and science courses. In selecting courses for these additional 15 units (credits), science courses must be chosen to insure the student meets the general university natural science requirement for a B.S. degree, and math courses must be numbered 222 or above.
  3. CS 499 is open only to ST emphasis students who are in their final semester. Enrolled students must take the Major Field Test in Computer Science.

Software Technology Major 

This Software Technology major is open students interested in Web and Mobile development headed for careers that are primarily focused on Web, Mobile and some application software development. The following is a brief summary describing the courses required for the Software Technology major. For more detail on course descriptions and course rotations, see the advisement bulletin.

 

Software Technology Major Courses

Course

Credits

CS 221 Object Oriented Design and Programming I 3 cr.
CS 247 Introduction to Usability 3 cr.
CS 262 Object Oriented Design and Programming II 4 cr.
CS 271 Data Structures 4 cr.
CS 341 Software Engineering I 3 cr.
CS 344 Mobile Application Development 3 cr.
CS 346 Web Development 3 cr.
CS 399 Internship in Computer Science 3 cr.
PHIL 350 Computing Ethics 3 cr.
IS 208 Professional  Career Skills in Math and Natural Science 1 cr.
INFO SYS 315 Database Systems in Business 3 cr.
INFO SYS 316 Networking and Data Communication 3 cr.

One of the following:

 
INFO SYS 318 Agile Application Development 3 cr.
INFO SYS 432 Agile Web Design and Development 3 cr.

Total:

39 cr.

Computer Science Minor

Students in any majors that wish to have significant training in software theory, development and practice. Option of mini-specialization in an advanced subfield of Computer Science. 

Core Courses (14 credits)

These courses are required of all computer science minors.

Course Credits

CS 221 Object Oriented Design and Programming I

3 cr.

CS 251 Computer Architecture and Assembly Language

3 cr.

CS 262 Object Oriented Design and Programming II

4 cr.

CS 271 Data Structures

4 cr.

Total

14 cr.

 

 

Elective Computer Science Courses (9 credits)

Any three courses may be selected from the following upper-division offerings.

  1. CS 300 Artificial Intelligence
  2. CS 310 Computer Organization and Design (Note: additional prerequisite of CS 212)
  3. CS 321 Algorithms (Note: additional prerequisite of CS 212)
  4. CS 331 Programming Languages
  5. CS 341 Software Engineering I
  6. CS 346 Web Software Development
  7. CS 361 Database Systems (Note: additional prerequisite of CS 212)
  8. CS 371 Computer Graphics
  9. CS 381 Theory of Computing (Note: additional prerequisite of CS 212)
  10. CS 391 Computer Networks (Note: additional prerequisite of CS 212)
  11. CS 399 Internship in Computer Science
  12. CS 421 Operating Systems (Note: additional prerequisite of CS 212)
  13. CS 431 Compilers (Note: additional prerequisite of CS 212)
  14. CS 480 Topics in Computer Science
  15. CS 490 Practicum in Computer Science

Total: 23 cr.

Web and Mobile Development Minor

Open to students in all majors that wish to have solid web and mobile development skills. 

Web and Mobile Development Courses

 

CS 125: Web Site Development

3 cr.

CS 142: Introduction to Computer Science and Programming    

3 cr. 

CS 221: Object-Oriented Programming and Design I

3 cr. 

CS 247: Introduction to Usability

3 cr. 

CS 262: Object-Oriented Programming and Design II

4 cr. 

One of :
   *CS 344: Mobile Application Development
   *INFO SYS 433: Mobile Application Development

3 cr.
 3 cr.

One of :
  *CS 346: Web Software Development
  *INFO SYS 432: Agile Web Design and Development

3 cr.
 3 cr.

Total:  

 22 cr

Computer Programming Certificate

Open to any students in any major that have significant software coding needs, especially Math, Science, and Engineering Technology. The courses below are required for the computer programming certificate 10-11 credits.

Computer Programming Certificate Courses

 CS 221: Object-Oriented Programming and Design I

3 cr.

 CS 262: Object-Oriented Programming and Design II  

4 cr.

One of the following:

   * CS 251: Computer Architecture and Assembly Language   
   * CS 271: Data Structures

3 cr.
4 cr.

Total:   

  10-11 cr

Web Design Certificate

Open to students in all majors that can benefit from web site design and basic programing skills.  These courses are required for the web design certificate 9 credits.

Website Design Certificate Courses

CS 125: Web Site Development 3 cr.
CS 142: Introduction to Computer Science and Programming 3 cr.
CS 247: Introduction to Usability 3 cr.
Total 9 cr.

Computer Science Department

George Thomas
Department Chair
Halsey Science 218
Office hours:  MTuWTh,  10:00-11:00 AM

cschair@uwosh.edu

Contact us