Introduction to Computers- ECE_Y103 (1st semester)
Course Title Introduction to Computing
Course contents
1 Digital representation, digital arithmetic. Information digitization and Character encoding.
2 Procedural programming with Python: Arithmetic expressions and commands, input/output and selection commands.
3 Loops, library functions (modules), functions defined by the user
4. Sequences, strings, lists, dictionaries and tuples.
5. Files, interface to the operating system
6. Sorting and searching algorithms, complexity.
7 Object Oriented Programming in Python, Definition of classes, objects, methods, inheritance.
8 Graphical user interfaces, programming with tkinter.
9 Computer architecture, Memory, Memory hierarchy, Central Processing Unit.
10 Operating systems: process management, scheduling, virtual memory.
11. Introduction to computer networks and the Internet. web programming
12. Data retrieval from the Internet.
13. Social aspects of computing, free and opensource software.
The course includes laboratory work involving algorithmic and programming and group work project.
Name of lecture(s) Nikolaos Avouris, Michalis Koukias, Vasilios Paliouras, Kyriakos Sgarbas, Polyxeni Stathopoulou

Learning outcomes By completing this course a student should be able to describe the basic structure of modern computing devices and systems, to use and describe basic principles and operation of the processor, memory, operating systems, and networks . The student should be able to formulate ways to solve algorithmic problems and to demonstrate their solution using a high-level programming language (PYTHON), understanding its basic structural elements. An additional objective is to engage students in collaborative solution of complex problems through group work (projects).
Competences  Ability to use computers and understand the principles governing their basic functions. Ability to design algorithmic solutions of simple problems and edit, test and demonstrate the operation of programs in a high-level programming language (PYTHON) implementing these algorithms.
Prerequisites Basic knowledge of organization and operation of computers and programming principles at Greek General Lyceum (high school) level.
Recommended reading Python - Introduction to Computers (Avouris et al, Crete University Press, 2016)
Computer Science: A Modern Introduction (Prentice Hall International Series in Computer Science) by Les Goldschlager, A. Lister
Computer Science: An Overview (10th Edition) by J. Glenn Brookshear
In addition, lab handouts (in Greek), lecture transparencies (in Greek) and tutorial material from python.org and other internet resources.
Teaching and learning methods Lectures (2 hours per week) using slides, Tutorial (1 hour / week) during which typical problems are solved and students are asked to solve problems either individually or in small groups. Similar problems are given to solve during the tutorial or at home. The Lab (2 hours / wk.) involves simple programming exercises to be solved with support of teaching assistants in the laboratory and more advanced problems to do at home. Finally more complex problems are given as group work to be dealt with in groups of 4-6 students during a period of several weeks
Assessment and grading methods The grading is based on performance in the final written exam that includes questions of theory and problems to solve. In addition, part of the final grade results from the marks given to laboratory exercises, group work (projects) and tutorial exercises.



Computer-supported collaborative learning has been an active area of research since the beginning for the HCI group more>>

Web usability team of the HCI Group has been active in studying human-web interaction and ways to support the design of accessible, findable, usable and aesthetically appealing web sites. more>>

Mobile Technology Unit of the HCI Group has been studying design and evaluation of mobile applicationss more>>

Hci Group | Electrical and Computer Engineering | University of Patras