B.S. Software Development Areas of Study

The B.S. in Software Development program is designed to meet this growing need while preparing experienced information technology professionals for successful careers as software designers and developers.

Information Technology Fundamentals

Introduction to IT
This course introduces students to information technology as a discipline and the various roles and functions of the IT department as business support. Students are presented with various IT disciplines including systems and services, network and security, scripting and programming, data management, and business of IT, with a survey of technologies in every area and how they relate to each other and to the business.

IT Foundations
IT Foundations is the first course in a two-part series preparatory for the CompTIA A+ exam, Part I. Students will gain an understanding of personal computer components and their functions in a desktop system, as well as computer data storage and retrieval; classifying, installing, configuring, optimizing, upgrading, and troubleshooting printers, laptops, portable devices, operating systems, networks, and system security; recommending appropriate tools, diagnostic procedures, preventative maintenance and troubleshooting techniques for personal computer components in a desktop system; strategies for identifying, preventing, and reporting safety hazards and environmental/human accidents in a technological environments; and effective communication with colleagues and clients as well as job-related professional behavior.

IT Applications
IT Applications is a continuation of the IT Foundations course preparatory for the CompTIA A+ exam, Part II. Students will gain an understanding of personal computer components and their functions in a desktop system, as well as computer data storage and retrieval; classifying, installing, configuring, optimizing, upgrading, and troubleshooting printers, laptops, portable devices, operating systems, networks, and system security; recommending appropriate tools, diagnostic procedures, preventative maintenance and troubleshooting techniques for personal computer components in a desktop system; strategies for identifying, preventing, and reporting safety hazards and environmental/human accidents in a technological environments; and effective communication with colleagues and clients as well as job-related professional behavior.

General Education

Critical Thinking and Logic
Reasoning and Problem Solving helps students internalize a systematic process for exploring issues that takes them beyond an unexamined point of view and encourages them to become more self-aware thinkers by applying principles of problem identification and clarification, planning and information gathering, identifying assumptions and values, analysis and interpretation of information and data, reaching well-founded conclusions, and identifying the role of critical thinking in the disciplines and professions.

Introduction to Communication
This introductory communication course allows students to become familiar with the fundamental communication theories and practices necessary to engage in healthy professional and personal relationships. Students will survey human communication on multiple levels and critically apply the theoretical grounding of the course to interpersonal, intercultural, small group, and public presentational contexts. The course also encourages students to consider the influence of language, perception, culture, and media on their daily communicative interactions. In addition to theory, students will engage in the application of effective communication skills through systematically preparing and delivering an oral presentation. By practicing these fundamental skills in human communication, students become more competent communicators as they develop more flexible, useful, and discriminatory communicative practices in a variety of contexts.

English Composition I
This course introduces learners to the types of writing and thinking that is valued in college and beyond. Students will practice writing in several genres and several media, with emphasis placed on writing and revising academic arguments. The course contains supporting media, articles, and excerpts to support a focus on one of five disciplinary threads (covering the topics of nursing, business, information technology, teaching, and literature, art, and culture) designed to engage students and welcome them into discussion about contemporary issues. The course supports peer review activities, though it may be completed asynchronously as well. Instruction and exercises in grammar, mechanics, research documentation, and style are paired with each module so that writers can practice these skills as necessary. This course includes full access to the MindEdge Writing Pad to support student writing and coaching sessions.

English Composition II
English Composition II introduces learners to research writing and thinking that are valued in college and beyond. The Composition II course at WGU should be seen as a foundational course designed to help undergraduate students build fundamental skills for ongoing development in writing and research. Students will complete an academic research paper.

Introduction to Humanities
This introductory humanities course allows students to practice essential writing, communication, and critical thinking skills necessary to engage in civic and professional interactions as mature, informed adults. Whether through studying literature, visual and performing arts, or philosophy, all humanities courses stress the need to form reasoned, analytical, and articulate responses to cultural and creative works. Studying a wide variety of creative works allows students to more effectively enter the global community with a broad and enlightened perspective.

Integrated Physical Sciences
This course provides students with an overview of the basic principles and unifying ideas of the physical sciences: physics, chemistry, and Earth sciences. Course materials focus on scientific reasoning and practical and everyday applications of physical science concepts to help students integrate conceptual knowledge with practical skills.

Introduction to Humanities
This introductory humanities course allows students to practice essential writing, communication, and critical thinking skills necessary to engage in civic and professional interactions as mature, informed adults. Whether through studying literature, visual and performing arts, or philosophy, all humanities courses stress the need to form reasoned, analytical, and articulate responses to cultural and creative works. Studying a wide variety of creative works allows students to more effectively enter the global community with a broad and enlightened perspective.

College Algebra
This course provides further application and analysis of algebraic concepts and functions through mathematical modeling of real-world situations. Topics include: real numbers, algebraic expressions, equations and inequalities, graphs and functions, polynomial and rational functions, exponential and logarithmic functions, and systems of linear equations.

Introduction to Geography
This course will discuss geographic concepts, places and regions, physical and human systems and the environment.

Natural Science Lab
This course gives you an introduction to using the scientific method and engaging in scientific research to reach conclusions about the natural world. You will design and carry out an experiment to investigate a hypothesis by gathering quantitative data.

Introduction to Probability and Statistics
In this course, students demonstrate competency in the basic concepts, logic, and issues involved in statistical reasoning. Topics include summarizing and analyzing data, sampling and study design, and probability.

Scripting and Programming

Scripting and Programming - Foundations
This course provides an introduction to programming covering data structures, algorithms, and programming paradigms. The course presents the student with the concept of an object as well as the object-oriented paradigm and its importance. A survey of languages is covered and the distinction between interpreted and compiled languages is introduced.

Scripting and Programming - Applications
This course provides an introduction to programming. It covers data structures, algorithms, and programming paradigms. It presents the concept of an object as well as the object-oriented paradigm and its importance. A survey of languages is covered and the distinction between interpreted and compiled languages is introduced.

Web Development

Web Development Foundations
This course introduces students to web design and development by presenting them with HTML5 and CSS, the foundational languages of the web, by reviewing media strategies, and by using tools and techniques commonly employed in web development.

User Interface Design
This course covers tools and techniques employed in user interface design including web and mobile applications. Concepts of clarity, usability and detectability are included in this course as well as other design elements such as color schemes, typography, and layout . Techniques like wireframing, usability testing, and SEO optimization are also covered. This course prepares students for the CIW User Interface Designer certification.

Web Development Applications
This course prepares students for the CIW Advanced HTML5 and CSS3 Specialist certification exam.

This course builds upon a student's manual coding skills by teaching how to develop web documents and pages using the Web Development Trifecta: HTML5 (Hypertext Markup Language version 5) and CSS3 (Cascading Style Sheets version 3) and JavaScript. Students will utilize the skills learned in this course to create web documents and pages that easily adapt to display on both traditional and mobile devices. In addition, students will learn techniques for code validation and testing, form creation, inline form field validation, and mobile design for browsers and apps, including Responsive Web Design (RWD).

Network and Security

Network and Security – Foundations
This course introduces students to the components of a computer network and the concept and role of communication protocols. The course will cover widely used categorical classifications of networks (i.e CAN, LAN, MAN, WAN) as well as network topologies, physical devices, and layered abstraction. The course will also introduce students to basic concepts of security, covering vulnerabilities of networks and mitigation techniques, security of physical media, and security policies and procedures.

Leadership and Management

Organizational Behavior and Leadership
Organizational Behavior and Leadership explores how to lead and manage effectively in diverse business environments. Students are asked to demonstrate the ability to apply organizational leadership theories and management strategies in a series of scenario-based problems.

Principles of Management
This course addresses strategic planning, total quality, entrepreneurship, conflict and change, human resource management, diversity, and organizational structure.

Technical Writing

Technical Communication
This course covers basic elements of technical communication, including professional written communication proficiency; the ability to strategize approaches for differing audiences; and technical style, grammar, and syntax proficiency.

Data Management

Data Management - Foundations
This course introduces students to the concepts and terminology used in the field of data management. They will be introduced to Structured Query Language (SQL) and will learn how to use Data Definition Language (DDL) and Data Manipulation Language (DML) commands to define, retrieve, and manipulate data. This course covers differentiations of data—structured vs. unstructured and quasi-structured (relational, hierarchical, XML, textual, visual, etc); it also covers aspects of data management (quality, policy, storage methodologies). Foundational concepts of data security will be included.

Data Management - Applications
This course covers conceptual data modeling and provides an introduction to MySQL. Students will learn how to create simple to complex SELECT queries including subqueries and joins, and will also learn how to use SQL to update and delete data. Topics covered in this course include exposure to MySQL; developing physical schemas; creating and modifying databases, tables, views, foreign keys/primary keys (FKs/PKs), and indexes; populating tables; and developing simple Select-From-Where (SFW) queries to complex 3+ table join queries.

Data Management for Programmers
This course introduces storage of various kinds and formats of data. Students will use standard SQL to demonstrate query capabilities provided by database management systems. The course will further cover data-related topics: data presentation, security (access and encryption), transaction management, and administration (backup, disaster recovery, and performance tuning). This course will address advanced topics such as data warehousing, data mining and distributed databases.

Operating Systems

Operating Systems for Programmers
This course covers operating systems from the perspective of a programmer including the placement of the operating system in the layered application development model. Primarily OSs provide Memory Management, Task Scheduling, and CPU allocation. Secondarily, OSs provide tools for file storage/access, permission control, event handling, network access, and cross-process interaction. OSs also provide tools for debugging problems within a single process or within groups of programs.

Software

Software Engineering
This course introduces the concepts of software engineering to IT core graduates. It is a standalone course that is critical to the IT program. It emphasizes the need for a disciplined approach to software engineering by providing an overview of software and software engineering processes and why they are challenging. A generic process framework is covered to provide the groundwork for formal process models. Prescriptive process models (e.g., Waterfall Model) and Agile Development is included. An introduction to the elements/phases of software engineering is introduced which includes Requirements Engineering (including UML, Use Cases), Design Concepts, Software Quality and Software Testing, and Project Management.

Software I
Software I builds object-oriented programming expertise and introduces powerful new tools for Java application development. You will learn about and put into action class design, exception handling, and other object-oriented principles and constructs to develop software that meets business requirements. This course requires foundational knowledge of object-oriented programming and the Java language.

Software II – Advanced Java Concepts
Software II – Advanced Java Concepts refines object-oriented programming expertise and builds database and file server application development skills. You will learn about and put into action lambda expressions, collections, input/output, advanced error handling, and the newest features of Java 8 to develop software that meets business requirements. This course requires intermediate expertise in object-oriented programming and the Java language.

Business of IT

Business of IT – Applications
Business of IT – Applications examines Information Technology Infrastructure Library (ITIL) terminology, structure, policies, and concepts. Focusing on the management of Information Technology (IT) infrastructure, development, and operations, students will explore the core principles of ITIL practices for service management to prepare them for careers as IT professionals, business managers, and business process owners. This course has no prerequisites.

Business of IT – Project Management
This course introduces the student to the project management & business analysis process within the context of an IT project. Fundamental concepts of project management will be covered including all phase of project management during a system life cycle including business analysis, requirements capturing, issue tracking, and release planning. Additional topics to include: development environments (dev, integration, QA, production), help desk and support, IT planning for business continuity. This course prepares students for the following certification exam: CompTIA Project+.

Software Applications

Client-Server Application Development
This course introduces students to client/server application programming classes, structures, and concepts. The course covers networking and client/server, streams, threads, URLs, URIs, HTTP, and socket programming concepts.

Mobile Application Development
This course introduces students to programming for mobile devices using a Software Development Kit (SDK). Students with previous knowledge of programming will learn how to install and utilize a SDK, build a basic mobile application, build a mobile applications using a graphical user interface(GUI), adapt applications to different mobile devices, save data, execute and debug mobile applications using emulators, and deploy a mobile application.

Schema Markup for WGU Logo

You’re using an unsupported version of your browser..

You’ll still have full access to the site, but some functionality may be lost. For the best wgu.edu experience, upgrade your browser by following the links below.

×