This is an archived copy of the 2023-2024 catalog. To access the most recent version of the catalog, please visit http://catalog.uwgb.edu.

Computer Science

https://www.uwgb.edu/compsci/

(Bachelor of Science)

Students interested in Computer Science have several options, including an emphasis in Information Assurance and Security (aka, cybersecurity), a more traditional emphasis in Software Engineering, and a minor. The two Computer Science emphases offer an expanding array of theoretical and applied work that prepares students to enter the job market or pursue graduate studies. The minor in Computer Science offers lower-level basic skills and an upper-level flexible approach that can be used to augment many majors, from business to the design arts and humanities.

The field of computer science is undergoing great changes as technology advances and the need for computer software increases. Students entering this field must not see a bachelor’s degree in computer science as the culmination of study in the field. Rather, they must see it as the first step in a continuing education process that will last as long as they choose to stay in the field. The goal of the Computer Science major is to provide students with a strong foundation upon which they can continue to build as the field changes. Students can receive instruction in areas such as software design and project management, object-oriented programming, design of algorithms, operating systems, database management systems, neural networks, computer graphics, network programming, cybersecurity, and more.

Computer science courses are often mistaken for programming courses. In reality, they require much more than learning and mastering a programming language. The heart of software design is not the language, but the ability to define a problem, analyze various components, and project and evaluate potential solutions, all of which must be scalable and robust. This must also be done under the constraint that they are subject to limitations inherent in a given computer. Students must understand that in industry there must be more than just a working program. Good software must not only work but must be fully documented, clearly written, easily modifiable to meet changing and more extensive requirements, and engineered for stability, security, and correctness.

Equally important, the program provides a theoretical base for computer science and helps students understand there is more to computer science than software development. Students develop skills they can use upon graduation but they must be prepared to enter a field which is both diverse and rapidly changing and they must be able to adapt to new technologies. This requires a solid theoretical foundation with knowledge of how computers work and how they carry out tasks specified in applications software. It requires that students think beyond writing software and explore areas such as neural networks, computer graphics, algorithm analysis, or scientific applications. This knowledge is an important ingredient to professional development as it gives them the tools they need to analyze efficiency and evaluate various programming and data design options and to see the possible futures as computer science evolves. Simply providing them with skills necessary to enter the computing profession is not sufficient. Each student must be prepared to apply what he or she has learned in order to adapt to the inevitable changes that will occur. Each must also have the ability to learn new ideas and apply them.

Graduates of the Computer Science program are prepared to continue their education at the graduate level or to apply for entry-level positions in industry. Typical entry-level jobs are programmer or programmer/analyst positions.

All registered students have access to the University’s computing facilities. Student accounts allow students to access a wide variety of both PC-compatible and Macintosh computers, Linux and database servers (for select courses), various software developer environments, and of course the internet. Labs are open seven days per week and are staffed by consultants who provide assistance in using the facilities. Classrooms also have network connections which allow demonstrations of software and internet applications to be integrated with classroom lectures. There is also a Computer Science teaching lab with 25 workstations and display facilities that support Computer Science instruction.

Computer Science courses have a strict prerequisite structure. It is imperative that students learn what courses are prerequisites for others and when they are offered. Students are strongly encouraged to talk to an adviser very early in their college career.

Students seeking information on teacher certification should contact the Education Office.

Minor

Supporting Courses11
Introduction to Computing & Internet Technologies
Discrete Mathematics
Introduction to Software Design
Upper-Level Courses13-15
Advanced Software Design
Choose three upper-level Computer Science courses
Total Credits24-26

Curriculum Guide 

An example: Four-year plan for Computer Science Major

120 credits necessary to graduate.

Students must complete requirements in one of the following areas of emphasis:

The plan is a representation and categories of classes can be switched. Check with your advisor.

Plan of Study Grid
Freshman
FallCredits
COMP SCI 201 Introduction to Computing & Internet Technologies 3
COMP SCI 207 Programming in C 3
First Year Seminar 3
COMM 133
Fundamentals of Public Address
or Fundamentals of Interpersonal Communication
or Small Group Communication
3
General Ed 3
 Credits15
Spring
COMP SCI 203 Introduction to Python Programming 3
COMP SCI 256 Introduction to Software Design 3
MATH 202 Calculus and Analytic Geometry I 4
General Ed 3
 Credits13
Sophomore
Fall
COMP SCI 221 Database Design & Management 3
COMP SCI 240 Discrete Mathematics 3
COMP SCI 316 Advanced Software Design 3
ENGR 236 Technical Writing 3
MATH 260 Introductory Statistics 4
 Credits16
Spring
COMP SCI 231 Introduction to IT Operations 3
COMP SCI 253 Digital Logic Fundamentals 3
COMP SCI 351 Data Structures 3
MATH 320 Linear Algebra and Matrix Theory 4
General Ed 3
 Credits16
Junior
Fall
COMP SCI 292 Introduction to Mobile Platforms and Apps 3
COMP SCI 293 Cloud Computing 3
COMP SCI 353 Computer Architecture and Organization 3
Software Engineering or IAS Required/Elective Course 3
General Ed 3
 Credits15
Spring
COMP SCI 371 Advanced Object-Oriented Design 3
COMP SCI 451 Database Systems and Big Data Processing 3
Software Engineering or IAS Required/Elective Course 3
General Ed 3
General Ed 3
 Credits15
Senior
Fall
COMP SCI 464 Artificial Intelligence 3
Software Engineering or IAS Required/Elective Course 3
Software Engineering or IAS Required/Elective Course 3
General Ed 3
General Ed 3
 Credits15
Spring
COMP SCI 452 Operating Systems Using Linux 3
COMP SCI 465 Machine Learning 3
Software Engineering or IAS Required/Elective Course 3
General Ed 3
General Ed 3
 Credits15
 Total Credits120

Software Engineering Required/Elective Courses are listed below:

Software Engineering Required Courses:

  1. Theory of Programming Languages (COMP SCI 357)
  2. Software Engineering (COMP SCI 372)
  3. Theory of Algorithms (COMP SCI 450)

Software Engineering Elective Courses (Choose any two from the following list):

  1. Compilers (COMP SCI 368)
  2. Web Programming (COMP SCI 339)
  3. Numerical Methods for Computer Science (COMP SCI 340)
  4. Internship (COMP SCI 497)

IAS Required/Elective Courses are listed below:

IAS Required Courses:

  1. Information Assurance and Security (COMP SCI 361)
  2. Software Security (COMP SCI 471)
  3. Capstone Essay in Computer Science (COMP SCI 490)

IAS Elective Courses (Choose any two from the following list):

  1. Data Communication and Computer Networks (COMP SCI 358)
  2. Network Security (COMP SCI 472)
  3. Introduction to Cryptography (COMP SCI 475)
  4. Internship (COMP SCI 497)

Faculty

Faculty

Md Maruf Hossain; Associate Professor; Ph.D., University of Memphis, Chair*

Tanim Ahsan; Assistant Professor; Ph.D., Marquette University

Iftekhar Anam; Assistant Professor; Ph.D., University of Memphis

Nazim Choudhury; Assistant Professor

Omar Meqdadi, Assistant Professor