Information Technology

Wake Tech delivers basic and advanced technology training through non-degree IT courses so you can learn a new skill or earn an industry-recognized credential to level up to your next job. 

Many non-degree IT courses align with Wake Tech’s IT degree programs, which means you can still earn college credits for some "non-degree" courses if you enroll in a qualifying degree program.

Non-degree IT course details and registration information

Intro to Back End Software Engineering by [email protected] Tech
Available Classes
Not currently offered.
Description Course Outline Requirements Intended Audience More Details
Intended Audience
Anyone who is familiar with the fundamentals of JavaScript and version control using Git who wants to expand their knowledge for employment-readiness.
This course provides those who are familiar with the fundamentals of JavaScript and Git version control with back end web application development skills. Participants will use a hands-on, interactive training approach to develop a web application with Node.js, learn about its strengths and the factors that go into choosing Node.js for the application, assess Ruby on Rails and compare it to a Node.js application, and build a microblogging application with Node.js, the Express framework, and Ruby on Rails. Upon completion, learners will be able to build, test, and deploy a web application using a back end framework.
Course Objectives
  1. Recognize common concepts and terms
  2. Plan, design, and build a web application with a focus on back end engineering
  3. Write server-side code in JavaScript
  4. Manage a database
  5. Use a back end framework
  6. Survey Ruby on Rails and compare it to a Node.js web application
  7. Explore the rationale for choosing a different programming language and framework for the back end
Outline of Instruction
  1. Working as a Software Engineer
    ■ Planning and structuring a software project
    ■ How software engineers work on a project
  2. What is the Backend?
    ■ HTTP and client-server communication
    ■ Database fundamentals
    - Database schema
    - SQL and NoSQL
    - Querying
    - Designing a data model
    - How to think about managing data
    ■ Using a server-side programming language: why choose Node.js
  3. Getting started with Node.js
    ■ Installing Node and getting a server up and running
    ■ Using npm and managing dependencies
    ■ Using Node’s module system and CommonJS
  4. Building a Node.js Application with Express
    ■ MVC architecture
    ■ Routing
    ■ Using middleware
    ■ Using a templating engine
    ■ Authentication with Passport
    ■ HTTP requests and responses
    ■ Event emitters and streams
    ■ Asynchronous programming
    - Input and output in Node
    - The event loop
    - Promises
    - Higher-order functions and the callback pattern
    ■ Working with a database and an ORM
    ■ Error handling
  5. Testing Node Applications
    ■ What should you test?
    ■ Tools for testing: using a testing framework and assertion library
    ■ How to write a good test
    ■ Unit tests
    ■ Integration tests
  6. Best Practices for Production Node.js Applications
    ■ Deployment
    ■ Environment configuration
    ■ Security
    ■ Logging & application monitoring
    ■ Debugging
  7. Introduction to Ruby on Rails
    ■ Ruby compared to JavaScript
    ■ Why would you choose to build an application in Rails instead of Node.js?
    ■ How Rails does MVC
    - Convention over configuration
    - Models and ActiveRecord
    - Routing in Rails
    - Controllers
    ■ How to build a web application using Rails
    ■ How software engineers build on what they know and learn by doing
Contact Hours
Industry Standard, State, or National Certification
CE to CU Articulation
Prior to course enrollment, students should have at least 2 semesters (or equivalent self-study) of web development experience using JavaScript and a working knowledge of version control with Git.
Text and Supplies Needed
All course materials will be electronic and accessible using a learning management system (LMS), which is included with course tuition.

Each class meeting will be held on Zoom.

This course will use a web-based development environment. To use this environment, students will need a computer with internet access, a reliable internet connection, and the Google Chrome web browser. Additionally, students will need a webcam and a microphone.
Clinical Site/Special Facilities
Requirements for Successful Completion of this Course
  1. Attendance 90% or above
  2. Participation
  3. Demonstrate an understanding of at least 80% of the course material taught.
Accreditation/Special Approval Requirements
Intended Audience
Anyone who is familiar with the fundamentals of JavaScript and version control using Git who wants to expand their knowledge for employment-readiness.
Specific Industry or Business Support Needs
Industry or Job Titles Related to training Outcomes for Employment
  • Software Developer
Related Courses
  • Collaborative Software Engineering Using Agile Methods and Git by [email protected] Tech - SEF-3001OS2
  • Software Developer Using Python - CSC-3110EH2
  • Web Programmer Using HTML5, CSS, and JavaScript - CSC-3110EI2
  • Web Programmer Using Python and Django - CSC-3110EJ2
  • Java Script Programing for the Web - CSC-3110AD2
  • JavaScript Introduction - CSC-3110DC2
  • Mastering Web Development Using HTML5, CSS3 and JavaScript - CTP-3001SY1
Course Contact Information
Jennifer Simmons-Bage