# Computing in Python IV: Objects & Algorithms

Provided by The Georgia Institute of Technology (GTx)
Introductory
See prerequisites
Free

\$99 USD for graded exams and assignments, plus a certificate

Learn about recursion, search and sort algorithms, and object-oriented programming in Python.

Start Date:

### Before you start

CS1301xIII or equivalent knowledge is required. Certain problems may benefit from experience with algebra, geometry, pre-calculus, and trigonometry, but you can succeed without these.

## What you will learn

• Working with instances of objects in Python.
• Creating new data structures using object-oriented programming.
• Using objects with earlier control and data structures.
• Writing common search algorithms, like linear and binary search.
• Writing common sorting algorithms, like bubble sort, insertion sort, and merge sort.
• Evaluating the computational complexity of algorithms using Big O notation.
Chapter 1. Objects. Working with instances of complex data types or defining your own, like creating a class to represent a video game character, a class syllabus, or an item for sale.

Chapter 2. Algorithms. Creating complex code for searching in large lists or sorting lists of data, and analyzing code for its complexity.

Chapter 3. Course Recap. A comprehensive review of the Xseries as a whole, leading into the final exam.

## Overview

Complete your introductory knowledge of computer science with this final course on objects and algorithms. Now that you've learned about complex control structures and data structures, learn to develop programs that more intuitively leverage your natural understanding of problems through object-oriented programming. Then, learn to analyze the complexity and efficiency of these programs through algorithms. In addition, certify your broader knowledge of Introduction to Computing with a comprehensive exam.

By the end of this course, you'll be able to write programs in Python that leverage your more natural understanding of data structures by creating objects to represent the structures you work with most often. For example, if you were creating a class roster application, you'll learn how to create an object representing a student's name, ID number, and attendance record. Then, you'll be able to create applications that leverage sorting and searching algorithms to sort that roster alphabetically, search for a particular student, and evaluate the efficiency of both those operations.

Structurally, the course is comprised of several parts. Instruction is delivered via a series of short (2-3 minute) videos. In between those videos, you'll complete both multiple choice questions and coding problems to demonstrate your knowledge of the material that was just covered. These exercises count for 20% of your grade. Then, after each major chapter, you'll complete a problem set of collected, more challenging problems. These count for 40% of your grade. Finally, you'll complete a final course exam, which counts for the remaining 40% of your grade.