Python Programming Career Path Courses:

Learning to program is both fun and easy by taking this brand new and exciting Introduction to Programming for Non-Programmers course! Not only will you learn the foundations of how to program, but you’ll also gain a solid foundation in the world’s most popular computer language: JavaScript.  Without having to install any special software, and using only your web browser and your text editor, you’ll journey into the exacting world of programming. Using an easy to learn training style, you’ll learn about the JavaScript language, functions, variables, making decisions, looping, and more. At the end of the course, you’ll be in a great position to take other introductory programming language course.

View all course details
Video Title
Length
01: Introduction to Programming
16 min
02: Introduction to JavaScript
15 min
Quiz: Introduction to Programming and JavaScript
04: Functions Part 2
17 min
Quiz: Functions
05: Variables
24 min
Quiz: Variables
06: Making Decisions
22 min
Quiz: Making Decisions
07: Repeating Steps
24 min
Quiz: Repeating Steps
08: Course Summary
20 min
09: Capstone Exercise
15 min
Course Survey
View all course details

Module 00: Course Introduction

 

Module 01: Introduction to Programming

  • What is a computer language?
  • Why should you learn a computer language?
  • What computer language should you learn first?
  • Demo: Let's Make our First Statement in JavaScript!
  • Lab Exercise: hello.html

Module 02: Introduction to JavaScript 

  • JavaScript Advantages
  • Web Browser and JavaScript
  • .html File Extension
  • Editing hello.html
  • // and /* … */
  • Demo: Hello World
  • Lab Exercise: Hello World

Module 03: Functions Part 1  

  • About Functions
  • alert() w/o input parameter
  • Semicolon
  • alert() w/Input parameter
  • Strings

Module 04: Functions Part 2 

  • Defining Functions without inputs
  • Defining Functions with inputs
  • Returning values from Functions
  • Demo: Using the Alert Function
  • Lab Exercise: Using the Alert Function

Module 05: Variables 

  • JavaScript Variables
  • var keyword
  • String variables
  • Number variables
  • Operators: +, -, *, /
  • Confirm Function
  • true, false
  • prompt() Function
  • Demo: Using Variables
  • Lab Exercise: Using Variables

Module 06: Making Decisions 

  • if statement
  • if else statement
  • confirm() with if statement
  • confirm() with if-else statement
  • Compare Operators: ==, <. >, <=, >=
  • if-else-if…
  • Demo: Making Decisions
  • Lab Exercise: Making Decisions

Module 07: Repeating Steps 

  • Repeating fixed number of times
  • Repeating variable number of times
  • while statement
  • while statement with prompt()
  • Checking for null
  • Demo: Repeating Steps
  • Lab Exercise: Repeating Steps 

Module 08: Course Summary

  • Put All Skills Together To Write a Javascript App
  • Review the key concepts
  • Write a temperature conversion script!

 

View all course details

The only prerequisite is a basic familiarity with computers, along with an eagerness to learn programming. You do not need any programming experience.

View all course details

This course provides a fundamental understanding of the functions within any modern operating system. Most users of computers, like Windows 10 or Redhat V8, only deal with the GUI (graphical user interface). This course explores the functions used by those GUIs and provides an understanding of what is really happening. Used either stand-alone to gain a basic understanding of operating system concepts or with a companion textbook, Modern Operating Systems by Andrew S. Tanenbaum, while viewing the course or as a resource for later reference, this course provides a solid foundation that would enhance understanding for other courses, such as USB 2.0 Architecture Part 1, Oracle 12c Real Application Clusters Part 2: Performance Tuning, Administration and Backup, PCI Express (PCIe) Overview, Cloud Computing Foundation, and any programming course.  This course is a pre-requisite for the Linux V7 Essentials course.

View all course details
Video Title
Length
01: Introduction to Operating Systems
25 min
02: Operating Systems and Hardware
25 min
03: Operating System Concepts
26 min
04: Operating System Structure
22 min
05: Processes and Threads
24 min
06: Interprocess Communication
22 min
08: Deadlocks
23 min
09: Memory Management
28 min
10: Input/Output
27 min
11: Files Systems
25 min
12: Multimedia Operating Systems
25 min
13: Multiple Processor Systems
27 min
14: Operating System Security
25 min
15: Examples of Operating System Architectures
24 min
16: Course Summary
6 min
Course Survey
View all course details

Module 00: Course Introduction - Fundamentals of Operating Systems

 

Module 01:  Introduction to Operating Systems

  • What is an operating system?
  • History of Operating Systems
  • Types of Operating Systems

Module 02: Operating Systems and Hardware

  • Operating Systems Concepts
  • Processor and Processor Features
  • Processor Pipeline and Execution
  • Operating Systems and Processors
  • Memory Overview
  • I/O Devices Overview
  • Operating Systems and Hardware Quiz

Module 03: Operating System Concepts

  • Types of Operating Systems
  • Services Provided by Operating Systems
  • Invoking Operating System Services
  • Operating System Concepts Quiz

Module 04: Operating System Structure

  • Monolithic Systems
  • Layered Systems
  • Virtual Machines
  • Other Structures 
  • Operating System Structure Quiz

Module 05: Processes and Threads

  • The Process Model
  • The Thread Model
  • Implementation Techniques
  • Trade-offs 
  • Processes and Threads Quiz

Module 06:  Interprocess Communication 

  • Types of Interprocess Communication
  • Operating System Implementations
  • Add-on Implementations
  • Interprocess Communication Quiz

Module 07:  Scheduling

  • Introduction to Operating System Scheduling
  • Types of Schedulers
  • Policy Versus Mechanism
  • Thread Scheduling
  • Scheduling Quiz

Module 08:  Deadlocks

  • What are deadlocks?
  • Detection and Recovery
  • Avoidance
  • Prevention
  • Other Issues 
  • Deadlocks Quiz

Module 09:  Memory Management

  • Basics of Memory Management
  • Swapping
  • Paging for Memory Management
  • Paging for Virtual Memory
  • Implementation Issues 
  • Memory Management Quiz

Module 10:  Input/Output

  • Principles of I/O Hardware
  • Principles of I/O Software
  • I/O Software Layers
  • Types of I/O Devices
  • Power Management
  • Input/Output Quiz

Module 11:  Files Systems

  • File Systems Basics 
  • Files
  • Directories
  • Implementation
  • Examples 
  • File Systems Quiz

Module 12:  Multimedia Operating Systems

  • Introduction to Multimedia Operating Systems
  • Multimedia Files
  • Multimedia Process Scheduling
  • Multimedia File Systems
  • Caching
  • Disk Scheduling
  • Multimedia Operating Systems Quiz

Module 13:  Multiple Processor Systems

  • Types of Multiple Processors
  • Multiple Processor Hardware  
  • Multiple Processor Operating Systems
  • Multiple Processor Scheduling
  • Multiple Computers
  • Multiple Processor Systems Quiz 

Module 14:  Operating System Security

  • The Security Environment
  • Basics of Cryptography
  • User Authentication 
  • Security Attacks 
  • Protection Mechanisms
  • Security Quiz

Module 15: Examples of Operating System Architectures

  • Unix and Linux
  • Windows 
  • Others
  • Operating System Architectures Quiz

Module 16: Course Summary

View all course details

Course attendees should have a general understanding of computer use, including starting and using applications, creating and using files, and a basic exposure to using computers connected to some form of network. Some knowledge of programming, computer hardware and application design will be helpful but is not required.  If you do not have this experience, we recommend the following GogoTraining course, C Programming Bootcamp Part 1.

View all course details

This Python Programming Essentials online training course teaches you the basics of Python, a powerful programming language used to solve many different types of problems. In this course you will start by learning the basics of Python and by the end of the course you will be able to write Python programs to processes, text, work with complex data types, handle exceptions, and begin designing object-oriented programs.  

Python is a general purpose language that was released in the 1990’s.  It is designed to be highly readable and that makes it very easy for beginners. Even though the learning curve is shorter than many other languages, it allows you to do scientific computing, web development and 3d rendering.  Python had a major role in starting YouTube, Instagram and Reddit.  Because Python is useful in many different applications there are jobs available in just about every market. Companies like Google and YouTube have requirements for Python Programmers most all the time.

This course was designed using Python Version 2 and includes exercises using Python Version 2 and  Python Version 3.  Python version 3 is now the preferred version of Python.  All example Python programs provided in the class are shown in Version 2 and Version 3.  

Once you have completed Python Programming Essentials the next course in this series is Advanced Python Programming. The Advanced Python Programming course will enhance your Python knowledge by discussing complex data types, object oriented programming, GUI programs, regular expressions, threads, network programming, using SQL, and extending Python with C. Click here to learn more about Advanced Python Programming.

 

 

View all course details
Video Title
Length
01: Introduction to Python
21 min
02: Numbers Part 1
19 min
03: Numbers Part 2
13 min
04: Strings
25 min
06: List Methods
17 min
07: Control Flow Constructs Part 1
14 min
08: Control Flow Constructs Part 2
12 min
09: Tuples
14 min
10: Dictionaries
11 min
11: Dictionary Methods
14 min
12: The File Type Part 1
13 min
13: The File Type Part 2
11 min
14: Functions Part 1
11 min
15: Functions Part 2
11 min
16: Complex Data Types Part 1
13 min
17: Complex Data Types Part 2
8 min
18: Introduction to Modules
11 min
19: Introduction to Object Oriented Python
15 min
20: Object Oriented: Inheritance
10 min
21: Introduction to Exception Handling
16 min
22: Using the sys Module
9 min
23: Using the os Module Part 1
10 min
24: Using the os Module Part 2
14 min
25: Moving from Python 2 to Python 3
19 min
Course Survey
View all course details

Module 00: Learn Python Programming - Course Introduction

Module 01: Introduction to Python

  • Python Websites and Books
  • A Little History
  • Interactive Python and Python Programs
  • Lab: Intro to Python
  • Demo: Programs, Variables, Syntax

Module 02: Numbers Part 1

  • Numeric Literals, Variables and Operators
  • Reading from Standard Input
  • Demo: Standard Input, if statement, while statement

Module 03: Numbers Part 2

  • if and while statements
  • Logical Operators
  • Lab: Numbers, if and while

Module 04: Strings

  • String Literals, Variables and Operators
  • Strings as Sequences and Slicing
  • String Formatting
  • String Methods
  • Lab: Strings

Module 05: Lists

  • Lists Defined
  • Creating, Indexing, Slicing Lists
  • Looping through Lists
  • List Operators
  • Lab: Lists
  • Demo: Looping

Module 06: List Methods

  • Creating Lists with split()
  • Joining Lists with join()
  • List Methods including append(), count() and pop()
  • Lab: Using List Methods
  • Demo: Using Lists

Module 07: Control Flow Constructs Part 1

  • if, if/else
  • while Loop
  • break and continue
  • Lab: More on if and while

Module 08: Control Flow Constructs Part 2

  • for Statements
  • The Range Method
  • for Loop
  • List Comprehensions
  • Lab: Using Looping Constructs
  • Demo: Various statements

Module 09: Tuples

  • Tuples Defined
  • Creating, Indexing, Slicing Tuples
  • Tuple Comprehensions
  • Tuple Operators
  • Lab: Working with Tuples
  • Demo: Creating Tuples

Module 10: Dictionaries

  • Dictionaries Defined
  • Creating and Indexing Dictionaries
  • Processing Dictionaries
  • Demo: Creating Dictionaries

Module 11: Dictionary Methods

  • Keys Method
  • Value Method
  • Creating Dictionaries as a Flexible List
  • Lab: Working with Dictionaries
  • Demo: Working with Dictionaries

Module 12: The File Type Part 1

  • The File Type Defined
  • Opening and Closing Files
  • Reading From and Writing to Files
  • Demo: File Parts

Module 13: The File Type Part 2

  • File iIterators
  • sys.stdin
  • Files and List Comprehensions
  • Lab: File Type
  • Demo: Working with Files

Module 14: Functions Part 1

  • Functions Definition and Invocation
  • Return Values and Function Arguments
  • Arguments Passed by Reference
  • Demo: Values and Arguments

Module 15: Functions Part 2

  • Default Arguments
  • Calling Functions with Keywords
  • Global Variables with Global
  • Lab: Writing Functions
  • Demo: Variables

Module 16: Complex Data Types Part 1

  • Introduction to the Basic Complex Data Types
  • List of Lists
  • Processing a List of Lists
  • Lab: Working with a List of Lists
  • Demo: Lists of Lists

Module 17: Complex Data Types Part 2

  • Dictionary of Dictionaries
  • Processing a Dictionary of Dictionaries
  • Arbitrarily Nested Data Types
  • Lab: Working with a Dictionary of Dictionaries
  • Demo: Dictionary of Dictionaries

Module 18: Introduction to Modules

  • Modules Defined
  • Standard Library
  • Location of Library Files
  • The from Statement
  • Lab: Creating and Using a Module
  • Demo: Modules and Libraries

Module 19: Introduction to Object Oriented Python

  • Object Oriented Programming Defined
  • Creating a Class
  • Constructors
  • Lab: Creating and Using a Class
  • Demo: Classes

Module 20: Object Oriented: Inheritance

  • Introduction to inheritance
  • A Derived Class Constructor
  • Using a Derived Class
  • Brief Discussion of Advanced Topics
  • Lab: Implementing Inheritance
  • Demo:Inheritance

Module 21: Introduction to Exception Handling

  • Built-in exceptions
  • Handling exceptions with the try / except statement
  • Handling KEY ERROR exceptions
  • Lab: An Exceptional Lab
  • Demo:Exceptions and Statements

Module 22: Using the sys Module

  • Command Line Arguments
  • Exiting the Program
  • Various sys Properties
  • Demo: Command lines and Exiting

Module 23: Using the os Module Part 1

  • Environment Variables
  • Changing Directories, File Permissions
  • Making and Removing Directories
  • Deleting Files
  • Demo: Environment and the os

Module 24: Using the os Module Part 2

  • Executing External Programs
  • Opening Pipes
  • Advanced Topics
  • Lab: Using the sys and os Modules
  • Demo: Pipes and Executing External Programs

Module 25: Moving from Python 2 to Python 3

  • Common gotchas
  • Syntax changes
  • String formatting
  • Changes to exceptions
  • Miscellaneous stuff
  • Porting from Python 2.x to Python 3.x
View all course details

You need to have experience in a high-level programming language (for example: C, C++, Java, Perl, etc.) and be able to perform basic operations in the operating systems. If you do not have this experience, we recommend you select from the following GogoTraining courses:

View all course details

This Advanced Python Programming online training course picks up where Python Essentials left off.  In this course you will enhance your Python knowledge by discussing complex data types, object oriented programming, GUI programs, regular expressions, threads, network programming, using SQL, and extending Python with C. This course was filmed using Python 2.x.

In order to take this course you need to have taken Python Programming Essentials or have equivalent experience in the concepts taught in that course.

Python is a general purpose language that was released in the 1990’s.  It is designed to be highly readable and that makes it very easy for beginners. The learning curve is shorter than many other languages, it allows you to do scientific computing, web development and 3d rendering.  Python had a major role in starting YouTube, Instagram and Reddit.  Because Python is useful in many different applications there are jobs available in just about every market. Companies like Google and YouTube have requirements for Python Programmers most all the time.

 

View all course details
Video Title
Length
01: Miscellaneous Tidbits
20 min
02: Complex Data Types Part 1
19 min
03: Complex Data Types Part 2
11 min
05: Object Oriented Review
22 min
06: More Object-Oriented Topics
19 min
07: Object Oriented Inheritance and Operator Overloading
21 min
08: GUI - Introduction to Tkinter
11 min
09: More on Tkinter - Frames
7 min
10: More Tkinter Widgets
15 min
11: Regular Expressions
17 min
12: More on Regular Expressions
14 min
13: Wrapping up Regular Expressions
5 min
14: Introduction to Threads
15 min
15: Working with Threads
18 min
16: Introduction to Network Programming with Python
15 min
17: SocketServer
6 min
18: More Network Modules
9 min
19: Python and SQL Part 1
11 min
20: Python and SQL Part 2
12 min
21: Extending Python with C Part 1
11 min
22: Extending Python with C Part 2
15 min
23: SWIG Part 1
8 min
24: SWIG Part 2
15 min
25: Moving from Python 2 to Python 3
19 min
Course Survey
View all course details

Module 00: Course Introduction

Module 01: Miscellaneous Tidbits

  • Named Parameters
  • pprint Module
  • lamdas
  • Generators
  • Lab: Generators and lambdas

Module 02: Complex Data Types Part 1

  • List of Lists
  • Processing List of Lists
  • List of Dictionaries
  • Lab: Working with List of Dictionaries

Module 03: Complex Data Types Part 2

  • Dictionary of Lists
  • Working with Dictionary of Lists
  • Dictionary of Dictionaries
  • Lab: Working with Dictionary of Dictionaries

Module 04: Arbitrarily Nested Types

  • Introduction to Nested Types
  • Different Nested Types
  • Nested Type Example
  • Lab: Working with Nested Types

Module 05: Object Oriented Review

  • Creating a Class
  • Object Constructor
  • The from statement
  • Composition
  • Lab: Creating a Class, Working with the Class

Module 06: More Object-Oriented Topics

  • Static Variables and Methods
  • Destructor
  • Method Overloading
  • Data Hiding
  • Lab: Working with Static Data and Data Hiding

Module 07: Object Oriented Inheritance and Operator Overloading

  • Inheritance
  • Multiple Inheritance
  • Abstract Base Classes
  • Operator Overloading
  • Object Iterators
  • Lab: Implementing Inheritance

Module 08: GUI - Introduction to Tkinter

  • Introduction to Tkinter
  • More on Labels
  • The pack() function
  • Lab: Using pack()

Module 09: More on Tkinter - Frames

  • Introduction to Frames
  • Frame Examples
  • Frames and Classes

Module 10: More Tkinter Widgets

  • Buttons
  • Checkbuttons
  • Radiobuttons
  • Entry
  • More Topics
  • Lab: Creating a Frame

Module 11: Regular Expressions

  • Introduction to Regular Expressions
  • Text Matching
  • Patterns
  • Patterns: Classes and Quantifiers
  • Exercise: Regex

Module 12: More on Regular Expressions

  • Match Object
  • Memory with Parens
  • Memory and group()
  • Alternation and Anchoring Patterns
  • Exercise: Case Insensitive Matching

Module 13: Wrapping up Regular Expressions

  • The split() Method
  • Lab: Matching Text and Extracting Text

Module 14: Introduction to Threads

  • Introduction to Threads
  • Creating a Python Thread
  • Creating Multiple Threads
  • Joining Threads
  • Threads with Data
  • Lab: Creating Threads

Module 15: Working with Threads

  • Removing the Flag Variable
  • The Lock and RLock Classes
  • Using try/finally
  • Semaphors
  • Lab: Thread Synchronization

Module 16: Introduction to Network Programming with Python

  • Introduction to Network Programming
  • Writing a Server from Scratch
  • Writing a Client from Scratch
  • Handling Multiple Clients Serially
  • Handling Multiple Clients in Parallel
  • Lab: Write a Client/Server Program

Module 17: SocketServer

  • Using SocketServer
  • Forking with SocketServer
  • Threading with SocketServer

Module 18: More Network Modules

  • telnetlib
  • ftplib
  • urllib
  • Lab: using ftplib and telnetlib

Module 19: Python and SQL Part 1

  • Introduction to SQL
  • MySQL Example
  • MySQLdb Module
  • Connecting to a Database
  • Executing a Query

Module 20: Python and SQL Part 2

  • Other Ways of Fetching a Result
  • Inserting into a Table
  • Lab: Working with MySQLdb

Module 21: Extending Python with C Part 1

  • Introduction
  • Simple Example
  • Pieces of the C File

Module 22: Extending Python with C Part 2

  • PyArg_Parse()
  • Py_BuildValue()
  • Conversion Codes
  • Error Handling
  • An Example
  • Lab: Putting it Together

Module 23: SWIG Part 1

  • Introduction to SWIG
  • SWIG Example
  • Lab: Using SWIG

Module 24: SWIG Part 2

  • SWIG Wrapping Existing Code
  • Global Variable
  • SWIG and Structs
  • Lab: Using Global Variables with SWIG

Module 25: Moving from Python 2 to Python 3

  • Common gotchas
  • Syntax changes
  • String formatting
  • Changes to exceptions
  • Miscellaneous stuff
  • Porting from Python 2.x to Python 3.x
View all course details

In order to successfully complete Advanced Python Programming you need to have experience in a high-level programming language (for example: C, C++, Java, Perl, etc.), be able to perform basic operations in the operating systems and have completed Python Programming Essentials. If you do not have this experience, the following GogoTraining courses are available for you to choose from:

View all course details

Get Started Learning

Python Programming Today!

Norman McEntire

Norman McEntire founded Servin Corporation in 1995 to focus on “Software Technology Training for Software Technology Professionals(tm). Since that time, Norman has used his unique  training style to train thousands of software developers in nearly every major technology company, including Avaya, Broadcom, Cubic, Dell, Fidelity, HP, IBM, Intel, Intuit, Motorola, NCR, Qualcomm, Wells Fargo, and many more. With degrees in Computer Engineering, Norman has designed and built everything from low-level chips, boards, and complete computer systems, to software at all levels, including device drivers, systems software, and end-user software for the desktop, web, and mobile.

Tim R. Norton

Dr. Norton has worked with a variety of computer systems of all sizes and many operating systems, including MVS, Windows and Unix/Linux. He has experience with applications design, support, and systems programming. He has done Technology Planning, Capacity Planning and Capacity Modeling for over 20 years at a variety of large companies. He co-foundered and was the Chief Scientist of a start-up company to provide web based capacity planning services for web applications. He has been a full-time Professor at a local university and continues to teach at universities in Colorado Springs. He is active in CMG (Computer Measurement Group), the leading computer performance analysis organization, and has been the Subject Area Chair for every year since 2000. He has participated in Colorado Governor Owens' Technology Summit. He has served on the Academic Advisory Boards for Computer Science at Colorado Technical University and at DeVry University of Colorado. He founded Simalytic Solutions, LLC in 1995 to provide capacity planning and application modeling services using the Simalytic® Modeling Technique and the Response Time Pipe™ that he developed as a result of his doctorial research.

James Lee

James Lee is a hacker and open-source advocate based in Illinois. He holds a master's degree from Northwestern University, and he can often be seen rooting for the Wildcats during football season. As founder of Onsight, Lee has worked as a programmer, trainer, manager, writer, and open-source advocate. Lee authored Beginning Perl, Second Edition published by Apress and coauthored Hacking Linux Exposed, Second Edition, as well as Open Source Web Development with LAMP. He enjoys hacking in Perl and Python and has written programming articles for the Linux Journal. Lee also enjoys developing software for the Web, reading, traveling and, most of all, snowboarding with his kids who are old enough now to understand why dad's favorite animals are penguins and camels and why dad laughs at Monty Python's Flying Circus.

Transcript

This course comes with a Transcript that tracks your progress. You can use your transcript to view and monitor your progress and when you complete the course, you can print or email the transcript, or print a course completion certificate.

Letter of Course Attendance

When you complete this course you will receive a Letter of Course Attendance Download Link so you can print and/or email your Letter of Course Attendance.

Sample of Letter of Course Attendance

QA Forum

When you purchase this course you will be able to use the QA Forum and have direct access to the instructor.