Introduction to Computing with Python
Boğaziçi University
Department of Computer Engineering
Murat Özyurt
Fall 2024
!! It is your own responsibility to check the Moodle Page of the course regularly for updates and announcements !!
CHAPTER 1: Introduction to Computing
Agenda
Section 01: Computing
ComputingHistory
ComputingUsage
ComputingLimitedResources
ComputingPerformance
ComputingBenchmark
Section 02: Python Source Code Development
ProgrammingLanguages
Python
PythonExecutionInTerminal
PythonCodingInTextEditor
PyCharm
Comments
MultilineStatements
Section 03: Turtle Graphics
DrawingASquare
DrawingTwoSquares
DrawingSquaresInTheCenter
PythonFoundations
Functions
MoreFunctions
EvenMoreFunctions
TurtleWithVariables
AssignmentStatements
AssignmentOperators
FunctionReturnValue
AdditionalPractice
Summary
CHAPTER 2: BASIC MATHS AND IO
Agenda
Section 01: Basic Maths
MathOperators
CelsiusToFahrenheit
FahrenheitToCelsius
PrecedenceInMathOperations
Section 02: Text IO
TextOutputAndStringLiteral
TextInput
SimpleMathsWithInput
IntAndInputFunctions
FileProcessing
Section 03: Drawing With Input
DrawingCircles
DrawingCirclesWithInitialRadius
AdditionalPractice
Summary
CHAPTER 3: CONTROL FLOW - IF ELSE STATEMENTS
Agenda
Section 01: if elif else
if-else
NumericComparison
if-elif-else
if-elif-else-multiple
Section 02: Logic
Logic
Logic_CalculateFare
Logic_TruthTable
Section 03: Recursive Functions
RecursiveFunctions
RecursiveFactorial
RecursiveFibonacci
RecursiveFibonacciImproved
Summary
CHAPTER 4: CONTROL FLOW - FOR LOOPS
Agenda
Section 01: Repeating Instructions
DrawingSquares
DrawingN-Gons
ChainOfRings
DrawingADashedCircle
Section 02: for Loops In Detail
forLoopStatement
BlockScope
forLoopFactorialFunction
forElse
Section 03: Printing Console Shapes With for Loops
NestedForLoops
Exercise-DashedShapes
RectangleOffsetting
Triangle
IsoscelesTriangle
OffsetIsoscelesTriangle
DrawingATree
Section 04: Random Numbers and Tuples
RandomNumbers
Tuples
Lists
IsOperator
MoreRandomNumbers
AdditionalPractice
Summary
CHAPTER 5: CONTROL FLOW - CONDITIONAL LOOP AND DATA STRUCTURES
Agenda
Section 01: Algorithms
Algorithms
RoboticArm
ServerClientCommunication
Section 02: Data Structures
FindMinMax
Dictionary
LenListTupleSet
Sort
MultidimensionalLists
AdditionalPractice
Section 03: Conditional Loop
WhileLoop
RandomShapes
NumberGuessing
AdditionalPractice
Summary
CHAPTER 6: CONTAINER DATA STRUCTURES
Agenda
Section 01: Strings in Detail
Strings
StringSlicing
StringMethods
StringFormatting
Section 02: Lists in Detail
ListsAndTuples
Slicing
Methods
Sorting
Operations
Section 03: Dictionaries in Detail
Dictionaries
DictionaryMethods
DictionaryOperations
Summary
CHAPTER 7: ANIMATIONS
Agenda
Section 01: Animating Shapes
PrimeNumbers
SingleSpiral
SpiralPairs
Animation
BouncingBalls
AnimatingSpiralWeb
AdditionalPractice
Section 02: Interactive Programming
InteractiveProgramming
InteractiveProgrammingClickColors
InteractiveProgrammingClickCircles
InteractiveProgrammingClickKeys
Summary
CHAPTER 8: OBJECT ORIENTED PROGRAMMING
Agenda
Section 01: OOP Workshop
OOP_class
OOP_constructor
OOP_baseDrawButtonShapeMethod
OOP_baseDrawButtonMethod
OOP_baseDrawShapeMethod
OOP_baseButtonSelectMethod
OOP_baseGetColorMethod
OOP_initButton
OOP_updateButtonsMethod
OOP_checkButtonClicks
OOP_updatedScreenClickMethod
OOP_Version1_singleShape
OOP_rectangleButton
OOP_Version2_rectangleButton
OOP_triangleButton
OOP_circleButton
OOP_Version3_triangleAndCircleButtons
OOP_randomColorButton
OOP_redButtonBoundary
OOP_Version4_colorButtons
OOP_keyboardInteraction
OOP_Version5_final
AdditionalPractice
Summary