Pomiń do głównej zawartości

Opis kursu

Course Description

The course provides a full introduction to computer programming, including the basics of algorithmics and the knowledge necessary to understand how the computer executes a program and how and using what tools the computer code is developed. Later on, the participant learns the elements of each language and get acquainted with specific properties of programming languages. Once the student has mastered the steps to install Python 3 on his/her own computer, he/she starts learning computer programming from absolute basics to intermediate level. All theoretical problems are illustrated with exhaustively commented examples, enriched with proofing tests.


Prerequisites

Basic computer skills like working with files and text editing.


Hardware Requirements

PC with Windows OS (not earlier than Windows 8) with internet access needed to install Python environment.


Learning Outcomes

The course participant will learn:

  • use terminology related to writing and running computer programs,
  • create and encode simple algorithms,
  • install the Python programming environment,
  • perform input/output operations,
  • operate on different types of data and transform the data according to existing needs,
  • build lists of data and operate on them,
  • make use of Python built-in functions and methods,
  • encode and use user-defined functions,
  • recognize and handle exceptions.

Topics

Preface
Module 1: Algorithmics
  • Lesson 1: Algorithm
  • Lesson 2: Constructing simple algorithms
  • Lesson 3: Flowchart
  • Lesson 4: Writing Algorithms
Module 2: Languages and programming
  • Lesson 1: What is a language?
  • Lesson 2: What language do computers know?
  • Lesson 3: In what languages are programs written?
  • Lesson 4: What every language consists of?
Module 3: Python
  • Lesson 1: What is origin of the Python?
  • Lesson 2: How to get Python?
  • Lesson 3: The first program in Python
Module 4: Data and operators
  • Lesson 1: Arithmetic in Python
  • Lesson 2: What numbers does Python know?
  • Lesson 3: Division and the other traps
  • Lesson 4: Truth and untruth Python
  • Lesson 5: Variables
  • Lesson 6: Input and output
  • Lesson 7: The second program in Python
  • Lesson 8: The third program in Python
Module 5: Conditions and loops
  • Lesson 1: How Python makes decisions?
  • Lesson 2: “if-elif-else”, that is how to control hard decisions?
  • Lesson 3: Python in the loop, that is “while” loop
  • Lesson 4: “while” loop in action
  • Lesson 5: How loops simplify programmer's life?
  • Lesson 6: How to affect loop's execution?
  • Lesson 7: “for” - yet another loop in Python
Module 6: Strings
  • Lesson 1: Strings in Python.
  • Lesson 2: String operations
  • Lesson 3: Indexing and slicing
  • Lesson 4: Strings inside strings a few words about methods
  • Lesson 5: Methods vs. strings
  • Lesson 6: How Python compares strings?
  • Lesson 7: Python and Caesar cipher
Module 7: List
  • Lesson 1: Lists in Python
  • Lesson 2: Referring to List Item
  • Lesson 3: Iterate over List items
  • Lesson 4: Operator in/not in
  • Lesson 5: Cutting selected parts of the List
  • Lesson 6: Deleting and adding elements to the List
  • Lesson 7: Operations on Lists
  • Lesson 8: Two-dimensional List
Module 8: Functions
  • Lesson 1: Functions in Python
  • Lesson 2: Function calls and masking mechanism
  • Lesson 3: Ways of passing parameters to Function
  • Lesson 4: Return statement
  • Lesson 5: Scope of variables
  • Lesson 6: Global variables
  • Lesson 7: Recursion
Module 9: Exceptions
  • Lesson 1: Exceptions in Python
  • Lesson 2: Techniques for responding to an Exception
  • Lesson 3: The Python Exception hierarchy
  • Lesson 4: Raising Exceptions
  • Lesson 5: Assertions
  • Lesson 6: Built-in exceptions in Python

Conditions for completing the course

The condition for completing the course is taking the tests for individual modules and the final exam.

  • Summary tests have a weight of 40%.
  • Number of approaches for summary tests is unlimited.
  • Final exam has a weight of 60%.
  • There are 3 possible approaches for the final exam.
  • Completing the course requires 70% of all points.

KADRA KURSU

Sławomir Wernikowski

Resident of Szczecin, graduate of the Faculty of Computer Science and Management at the Wrocław University of Science and Technology. Lecturer at the Department of Software Engineering and Cybersecurity at the Faculty of Computer Science of the West Pomeranian University of Technology in Szczecin. Areas of interest: software engineering, system, low-level, embedded and parallel programming, Linux development.

Aneta Bera

Resident of Szczecin, graduate of the Faculty of Computer Science and Information Technology at the West Pomeranian University of Technology in Szczecin. Currently, an academic teacher and a PhD student at the Department of Artificial Intelligence and Applied Mathematics at the Faculty of Computer Science of the West Pomeranian University of Technology in Szczecin. Main areas of interest: machine learning, pattern recognition, artificial intelligence, numerical methods, optimization, algorithms and programming.

Dariusz Sychel

Resident of Szczecin, graduate of the Faculty of Computer Science and Information Technology at the West Pomeranian University of Technology in Szczecin. Academic teacher and PhD student at the Department of Artificial Intelligence and Applied Mathematics at the Faculty of Computer Science of the West Pomeranian University of Technology in Szczecin. Main areas of interest: artificial intelligence, machine learning, pattern recognition, system modeling and simulation, optimization, programming.

Jacek Klimaszewski

Graduate of the Faculty of Computer Science and Information Technology at the West Pomeranian University of Technology in Szczecin. Assistant and PhD student at the Department of Artificial Intelligence and Applied Mathematics of the same Faculty. Interests: numerical computing, algorithmics, artificial intelligence, chess.

Contact: wimooc@zut.edu.pl