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
Introduction to IT examines 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
English Composition I introduces learners to the types of writing and thinking that are valued in college and beyond. Students will practice writing in several genres with emphasis placed on writing and revising academic arguments. Instruction and exercises in grammar, mechanics, research documentation, and style are paired with each module so that writers can practice these skills as necessary. Comp I is a foundational course designed to help students prepare for success at the college level. There are no prerequisites for English Composition I.

Survey of United States Constitution and Government
This course is an introduction to the U.S. Constitution and the U.S. government. Topics include (1) structure and relevance of the U.S. Constitution, (2) structure and function of governmental branches, and (3) political participation and policy making.

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.

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

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 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.

General Science Content

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.

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.

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.

Web Development

Web Development Foundations
This course prepares students for the CIW Site Development Associate certification. The 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.

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).

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.

Network and Security

Network and Security – Foundations
Network and Security - Foundations 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. LAN, MAN, WAN, PAN, and VPN) 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.

Business of IT

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+.

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.


Scripting and Programming - Applications
Scripting and Programming - Applications for undergraduates explores the various aspects of the C++ programming language by examining its syntax, the development environment, and tools and techniques to solve some real-world problems.

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.

User Experience Design
User Experience Design explores multiple tools and techniques used in user experience design. Students are presented with an in-depth view of activities involved in the design of user experience and have the opportunity to create several deliverables including persona profiles, information architectures, and prototypes of different levels of fidelity. In addition, the course also covers usability testing and the evaluation of quantitative and qualitative data derived from these and other experiments.

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.

Software Quality Assurance
Software Quality Assurance applies a QA focus to every phase of the software development life cycle. This course investigates best practices for quality analysis, quality planning, and testing strategies as they pertain to the everyday practice of software development. Students will come to understand how their work fits into the bigger picture: how QA, testing, and code-writing practices interact within specific process models; the potential impact of new code on existing code or on other applications; the importance of usability and the influence users have on the ultimate success of an application. Students will explore test plans, test cases, unit tests, integration tests, regression tests, usability tests, and test and review tools.

Technical Communication

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.

Structured Query Language
This course focuses on structured query language (SQL). It starts with a review of the basic statements and continues on to the creation of complex queries that affect multiple tables and utilize SQL functions. Data manipulation language (DML) and data definition language (DDL) are also covered, thus enabling the student to create and maintain database objects and modify data by using SQL commands.

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.

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.

Software Applications

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 Washington 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.