Bachelor of Science in Computing
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Introduction to system-level software development. Topics include OS processes, network communication, file-system organization and manipulation, and script programming.
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.
This course introduces the advanced DB topics, such as stored procedures, functions, triggers, indexes, performance tuning and query optimization.
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.
This course introduces more advanced concepts and topics in game development, including 3D game development, using a modern game engine.
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.
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.
This is a project-based course. Students will analyze, design and implement a user-centric application prototype, perform usability tests and analyze results.
Topics in Computing designed to give students knowledge at the frontier of a rapidly changing field.
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.
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.
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.
This course introduces students to the effective practices, principles, and patterns of software development and testing.
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.
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.
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.
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.
A hands-on supervised field experience in computing. Students will create and present a comprehensive portfolio documenting the field experience.
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.
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.
Raihan Ahmed, M.S.
Senior Lecturer in Computer Science
Lewis Baumstark, Ph.D.
Professor of Computing
Marion Franklin Cannon, MSIT
Lecturer in Computer Science
Jonathan Corley, Ph.D.
Associate Professor of Computer Science
Michael Orsega, Ph.D.
Professor of Computer Science & Graduate Program Coordinator
Mostafizur Rahman, Ph.D.
Assistant Professor of Computer Science
Anja Remshagen, Ph.D.
Professor of Computer Science & Program Coordinator
Ana Stanescu, Ph.D.
Associate Professor of Computer Science
Tracey Wilson, M.Ed., M.S.
Lecturer in Computer Science
Li Yang, Ph.D.
Professor of Computer Science
Duane Yoder, Ph.D.
Director of the School of Computing, Analytics, and Modeling & 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.
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
- Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions.
- Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline.
- Communicate effectively in a variety of professional contexts.
- Recognize professional responsibilities and make informed judgments in computing practice based on legal and ethical principles.
- Function effectively as a member or leader of a team engaged in activities appropriate to the program’s discipline.