Lists
Arrays
Tuples
Sorting
SWEN Stuff Only Austin Knows About
100
Name one difference between a list and an array

Lists are native to python, list are not fixed sized, list can use for each loops

100

True or False: Arrays are native to python

False

100

Name one thing tuples can be used for

Store data, multiple return types, tuple unpacking, thread safety (don't worry about this one)

100

Name the four sorting algorithms we have learned so far

Bubble sort, merge sort, quick sort, insertion sort

100

What is software engineering

The practice of applying software design principles, as well as software processes, to create software that is more maintainable, scalable, and higher quality in less time. 

I will also except a better version of CS

200

True or False: Lists can be mutated

True

200

True or False: Arrays can be mutated

True

200

True or False: Tuples can be mutated

False

200

Which of the sorting algorithms that we have learned about so far is the fastest on average

Quick sort

200

Name one design pattern

Decorator, Composite, Singleton, Command, State, Strategy, etc.
300

What is the time complexity of removing from the end of a list

O(1) or O(C)

300

Name an example of something that would be better suited to be an array than a list

Anything that you know is fixed size, for example a tic-tac-toe board or a list of numbers that can only ever represent one byte

300

Are tuples fixed size

Yes

300

What is the best case time complexity of merge sort

O(Nlog(N))

300

Name one design anti-pattern

Blob, copy and paste coding, lava code, golden hammer, etc.

400

What is the time complexity of removing from the first index of a list and why.

O(N), because all elements need to be shifted over 1

400

Name on advantage of arrays being fixed size

Time complexity, when something is fixed size you never need to reallocate all of the memory due to running out of continuous memory in the original location

400

Name of example of something that would be better suited as a tuple rather than a list or array

Anything that would never change like coordinates

400

What is the worst case time complexity for quick sort and what scenario does it occur

O(N^2), when the list is sorted or reverse sorted

400

Say you are design a system that allows users to create virtual running groups. The system needs to notify all other users when one user begins working out, (which is detects based on movement speed). What design pattern would you use

Observer

500

What is difference between a_list = a_list + [5] and a_list += [5]

+= will alter the memory of the list add thus change the reference, whereas + will create a new copy that does not change the reference, only the copy

500
Why can you not use a for each loop with an array

They are not iterable

500

According to python programmer tuples should be used when you are storing what type of data

Homogeneous 

500

What is the main advantage that you get from using a hybrid sort

Better time complexity

500

What does the acronym SOLID stand for

Single responsibility, Open/Closed, Liscov Substitution, Interface Segregation, Dependency Inversion