Computer Programming


Code 3.4.3020.1
Semester 1st
Category Obligatory
Credits 6
Class Hours - Lab Hours 3 - 2
Lecturers Dimitris Fotakis, Dimitrios Tsoumakos, Stathis Zachos, Marios Koniaris (T & R Associates), Petros Potikas (T & R Associates), Theodora Souliou (T & R Associates)
Links MyCourses, Course's Website
Web Platform Class 1: Microsoft Teams

Description

Introduction to computer programming and to algorithmic problem solving. Program structure, syntax, semantics. Data types. Arithmetic and logical expressions. Flow control. Structured programming, procedures, functions, call by value and call by reference. Ordinal and enumerated types, arrays, linear and binary search, multidimensional arrays. Recursion. Pointers, pointers and arrays, dynamic memory management. Structured data types: strings, structs, unions, text and binary files. Text processing. Data structures: computational complexity, linked lists, abstract data types, stacks, queues, graphs, binary trees, binary tree traversals. Sorting: selection sort, insertion sort, bubble sort, mergesort, quicksort. Arithmetic computations: square root, trigonometric functions. Program correctness, assertions, invariants, verification. Lab: a set of problems to be solved in a subset of C/C++.