The B.S. in Computing program enables students to gain a broad understanding of the ever changing field of Computing. Students will deepen their knowledge and sharpen their skills in one or more in-depth technical and career-focused areas. Upon graduation, students will find employment in high-demand careers in areas such as cybersecurity, information technology, system and network administration, and application development.

Program Location

Carrollton Campus, Online

Method of Delivery

This program is designed to be flexible to meet individual student needs and can be completed fully online, face-to-face, or a hybrid combination of the two.

Accreditation

The University of West Georgia is accredited by The Southern Association of Colleges and Schools Commission on Colleges (SACSCOC).

Credit and transfer

Total semester hours required: 120

General

This course introduces the fundamentals of database systems. Topics include database design, implementation, and manipulation in a traditional database system, such as a relational database system.

View Instructors, Syllabi and Other Details

This course introduces object-oriented concepts. Topics include classes, objects, encapsulation, inheritance, and interfaces. Additional topics may include File I/O, Graphical User Interfaces, and related tools and technologies.

View Instructors, Syllabi and Other Details

This course introduces two fundamental aspects of computer science--abstraction and design--as students learn to develop programs in a high-level programming language. Students will study and implement a variety of applications, including graphics and scientific simulations. The course assumes no prior background in programming or computer science.

View Instructors, Syllabi and Other Details

This course explores the three fundamental aspects of computer science--theory, abstraction, and design--as the students develop moderately complex software in a high-level programming language. It will emphasize problem solving, algorithm development, and object-oriented design and programming. This course may not be attempted more than three times without department approval.

View Instructors, Syllabi and Other Details

An introduction to the design and implementation of web pages and sites: foundations of human-computer interaction; development processes; interface, site and navigation design; markup and style-sheet languages; site evaluation; introduction to client-side scripting.

View Instructors, Syllabi and Other Details

This course is designed to prepare students for calculus, physics, and related technical subjects. Topics include an intensive study of algebraic and transcendental functions accompanied by analytic geometry and trigonometry.Students cannot receive credit for MATH 1112 and MATH 1113.

View Instructors, Syllabi and Other Details

Major Elective Breadth

Choose 4 from the following:

This course introduces the creation and modification of different types of digital media. Topics include techniques and tools in digital media content development including images, audio, video, web multimedia.

View Instructors, Syllabi and Other Details

Introduction to physical computing technologies and applications such as Internet-of-Things and wearable devices, including processing digital and analog sensor data, inter-device communication, Internet connectivity, and UX (user eXperience) issues.

View Instructors, Syllabi and Other Details

This course introduces the fundamentals in the design, implementation, and distribution of mobile applications. Topics include mobile device architecture, software engineering, user interface design, and app distribution.

View Instructors, Syllabi and Other Details

This course introduces the process of the design and development of video games. Topics include game history, game styles, game components, game evaluation and analysis, and game development using a modern game engine and programming language.

View Instructors, Syllabi and Other Details

This course covers the advanced topics of network and operating system administration. Topics include technologies and tools in virtualization of computing resources, cloud-based systems and services, among others.

View Instructors, Syllabi and Other Details

An introduction to the software development life cycle and contemporary software development methods. This course places special emphasis on object-oriented systems. Students are expected to complete a medium scale software project.

View Instructors, Syllabi and Other Details

Introduction to system-level software development. Topics include OS processes, network communication, file-system organization and manipulation, and script programming.

View Instructors, Syllabi and Other Details

Major Elective Depth

Choose 3 from the following:

This course provides an overview of computer and network security and countermeasure techniques. Topics include cryptography, Public Key Infrastructures (PKI), viruses, malware, security of different layers of the TCP/IP, Firewall, and VPN, TLS, Bitcoin, and Web security. Techniques and tools used in defending network security will also be covered.

View Instructors, Syllabi and Other Details

This course introduces the advanced DB topics, such as stored procedures, functions, triggers, indexes, performance tuning and query optimization.

View Instructors, Syllabi and Other Details

In this course students will learn and apply effective practices, principles, and patterns of large-scale software development and testing as part of collaborative development teams.

View Instructors, Syllabi and Other Details

This course introduces more advanced concepts and topics in game development, including 3D game development, using a modern game engine.

View Instructors, Syllabi and Other Details

This course provides an introduction to the principles of DevOps and the DevOps tools that enable the optimization of an organization s development workflow. Topics include DevOps concepts, build automation, provisioning, monitoring, and deployment, among others.

View Instructors, Syllabi and Other Details

This course provides an overview of the principles and practices of computer security forensics. Topics may include memory, file system, operating system, and computer forensic investigative processes, and tools and methodologies for computer forensics investigation.

View Instructors, Syllabi and Other Details

This is a project-based course. Students will analyze, design and implement a user-centric application prototype, perform usability tests and analyze results.

View Instructors, Syllabi and Other Details

Topics in Computing designed to give students knowledge at the frontier of a rapidly changing field.

View Instructors, Syllabi and Other Details

This course focuses on current industry best practices used to develop dynamic, interactive, multi-page websites. Topics include user-interface development, common web components, database interactions, and security.

View Instructors, Syllabi and Other Details

Major Required

All of the following required:

This course provides a broad survey of computer systems. It covers topics such as basics of computer architecture and organization, operating systems, computer networking, programming, mobile and web development.

View Instructors, Syllabi and Other Details

This course introduces the fundamentals of computer security in protection of modern computer systems. Topics include hardware and software components of modern computer systems, various security vulnerabilities and threats, and security practices and measures to safeguard against these threats.

View Instructors, Syllabi and Other Details

This course introduces students to the effective practices, principles, and patterns of software development and testing.

View Instructors, Syllabi and Other Details

This course covers the fundamentals of network and operating system theory and practice. Topics include the TCP/IP protocol stack, routing, basic OS administration, and basic network services.

View Instructors, Syllabi and Other Details

The course introduces the fundamentals of human computer interaction (HCI) and the principles in the design and evaluation of user interfaces. Topics covered include: guidelines/principles in interface design, usability evaluation, universal design.

View Instructors, Syllabi and Other Details

This course introduces the basics of data science and data analytics to extract information from unstructured data. Topics include technologies, techniques, and tools in data collection, storage, processing, and analysis.

View Instructors, Syllabi and Other Details

This course provides students an opportunity to apply what they have learned to a relatively large-scale project. Students will work in teams to complete the project requirements.

View Instructors, Syllabi and Other Details

A hands-on supervised field experience in computing. Students will create and present a comprehensive portfolio documenting the field experience.

View Instructors, Syllabi and Other Details

Intensive practice in composing powerful audience-driven documents in a variety of real-world business, professional and technical contexts. Students will also learn how to make effective business-related presentations supported with appropriate documentary and visual aids.

View Instructors, Syllabi and Other Details

This course examines ethical questions that can arise in the professions and occupations, such as: Is my privacy violated when my job requires that I be tested for drugs? What should I do if I know that my employer is making an unsafe product? Should physicians ever lie to their patients? Do corporations have any responsibilities beyond making a profit for their shareholders? The course also examines more theoretical issues concerning professionalism and the professions, such as the nature of the relationship between professionals and clients and the connection between ordinary and professional morality. Required for philosophy majors in the Law and Justice track.

View Instructors, Syllabi and Other Details

Raihan Ahmed, M.S.

Raihan Ahmed, M.S.

Senior Lecturer in Computer Science

Technology Learning Center
Room 2220
Lewis Baumstark, Ph.D.

Lewis Baumstark, Ph.D.

Professor of Computer Science

Marion Franklin Cannon, MSIT

Marion Franklin Cannon, MSIT

Lecturer in Computer Science

Technology Learning Center
Room 2224
Jonathan Corley, Ph.D.

Jonathan Corley, Ph.D.

Associate Professor of Computer Science

Michael Orsega, Ph.D.

Michael Orsega, Ph.D.

Professor of Computer Science & Graduate Program Coordinator

Mostafizur Rahman, Ph.D.

Mostafizur Rahman, Ph.D.

Assistant Professor of Computer Science

Anja Remshagen, Ph.D.

Anja Remshagen, Ph.D.

Professor of Computer Science & Program Coordinator

Ana Stanescu, Ph.D.

Ana Stanescu, Ph.D.

Associate Professor of Computer Science

Tracey Wilson, M.Ed., M.S.

Tracey Wilson, M.Ed., M.S.

Lecturer in Computer Science

Li Yang, Ph.D.

Li Yang, Ph.D.

Professor of Computer Science

Duane Yoder, Ph.D.

Duane Yoder, Ph.D.

Chair, Department of Computing and Mathematics & Associate Professor of Computer Science

Guidelines for Admittance

Visit Undergraduate Admissions for details on applying to UWG, dates and deadlines, cost of attendance, etc.

  • Visit Undergraduate Admissions for details on applying to UWG, dates and deadlines, cost of attendance, etc.
  • The Scoop, published by the Office of the Registrar, is a collection of calendars and other important information related to registration, courses, fees, and schedules.

Program Educational Objective

Graduates of the program, equipped with a broad understanding of the ever changing field of Computing, depth of knowledge and skills in a career-focused specialization, exposure to current and emerging technologies and trends, and practical job experience in at least one internship, will attain successful careers as computing and information technology professionals.

Student Learning Outcomes
  1. Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions.
  2. Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline.
  3. Communicate effectively in a variety of professional contexts.
  4. Recognize professional responsibilities and make informed judgments in computing practice based on legal and ethical principles.
  5. Function effectively as a member or leader of a team engaged in activities appropriate to the program’s discipline.