Undergraduate
studies
of informatics of university of piraeus
Courses of 1st semester
Logic Design of Digital Systems
Course Code
Course Type Obligatory
Track –
Teaching Hours 4 Theory + 2 Laboratory
ECTS: 5
1. Binary arithmetic systems. Conversions between numbering systems. Integer representation.
2. Boolean algebra and logic gates. Optimization of Boolean functions.
3. Combinational logic. Hierarchical design.
4. Arithmetic circuits.
5. Multiplexers. Coders/decoders.
6. Modern sequential circuits.
7. Registers. Counters. State machines.
8. Memories.
9. Digital integrated circuits
10. Circuit simulation.
11. Introduction to hardware description languages.
The main goal of the course is to introduce the students to the basic concepts of digital systems design.
1. To know the basic principles that govern object-oriented programming
• Will have recognized the basic concepts of digital systems design.
• Will have understood the basic knowledge about digital systems: what are their main components, what functions they perform, how they are designed.
• Will have understood how numbers and data are represented in digital systems.
• Will be able to design and develop combinational and sequential digital circuits.
• Will be able to analyze the performance of a digital circuit and, after evaluating it, to improve it accordingly.
• Will be able to utilize digital circuit design and simulation tools
• Will have acquired the background knowledge to attend and understand more advanced courses in hardware and computer architecture.
302/Lam.126
+302104142425
Analysis I
Course Code
Course Type Obligatory
Track –
Teaching Hours 4 Theory + 1 Tutorial
ECTS: 5
• Sequences.
• Series.
• Functions of a single variable.
• Derivative.
• Indefinite integral.
• Differential Equations.
• Definite integra
• Numerical solution of equations.
• Polynomial interpolation of functions.
• Numerical integration.
Upon completion of the course, students will be able to:
1. understand basic concepts and basic results regarding graphs. For example, they will be able to see if two graphs are isomorphic or not,
2. explain combinatorial numbers Fibonacci, Catalan, Motzkin, Stirling, Bell etc. as well as their applications,
3. understand basic concepts of automatic and standard languages,
4. solve linear recurrence equations with or without generator functions,
5. understand basic concepts of standard and exponential function generators and how to use them to solve enumeration problems,
6. understand asymptotic symbolism and will be able to apply appropriate theorems and formulas to corresponding problems.
Sapounakis Aristides
542, CB
+30 210 4142262
-, GL126
+30 210 4142347
Introduction to Programming
Course Code
Course Type Obligatory
Track –
Teaching Hours 4 Theory
ECTS: 5
Course Description
- Modern Programming Approaches and Technology
- IT & Software Development
- Computer Troubleshooting
- Programming in a Windows environment
- Evolution of programs languages
- Basic principles of C/C++
- C/C++ commands
- Operators and C/C++ Preprocessor
- Simple input/output and program applications in C/C++
After successfully completing this course, students are expected to have acquired the basic knowledge regarding some basic principles and notions of Mathematics and Mathematical Logic, which are necessary for the students of an undergraduate course in Computer Science.
1. have acquired the basic knowledge about the scientific disciplines of Algorithms and Programming,
2. have understood the basic programming principles of a PC,
3. recognize and understand the basics of the C/C++ programming languages,
4. distinguish the basic principles of functional and object-oriented programming,
5. be able to utilize the basic algorithmic structures in C/C++ languages,
6. be able to solve simple and complex computational problems using basic Data Structures,
7. be able to take advantage of basic software development and debugging tools in a programming environment, critically evaluating their suitability according to its parameters.
303/Lam.126
+302104142476
Internet Technologies
Course Code
Course Type Obligatory
Track –
Teaching Hours 4 Theory + 2 Laboratory
ECTS: 5
• This course describes in an introductory, but complete, way the technologies and protocols on which the Internet and the World Wide Web are based and analyses in more detail the development of applications using specific tools/languages, which are performed on the client side and/or on the server side.
• Some of the concepts that are addressed are: TCP/IP protocol stack, transport and internet level, HTML5, CSS3, Javascript, jQuery, AJAX call, PHP nodejs, XML and JSON.
With the successful completion of the course the student will be able to:
• recognize the basic principles of protocols that support the Internet, with an emphasis on IP and TCP.
• understand the basic features of internet applications, their structure, their objectives as well as their interconnection.
• Έχει διακρίνει και εμβαθύνει στις των βασικές τεχνικές και εργαλεία, η αξιοποίηση των οποίων διασφαλίζει τον προγραμματισμό και τον άρτιο έλεγχο μιας τέτοιας εφαρμογής.
• Understand and have a basic working knowledge of the basic techniques and tools, the use of which ensures the planning and proper control of such applications.
• solve, compare, value and propose alternatives to existing web applications and their potential performance problems, and with traditional methods/tools.
• collaborate with his fellow students in the creation and execution of simple and complex web applications.
302,Central Building
+30 210 4142137
fax +30 210 4142472
Introduction to Computer Science with the programming language PYTHON
Course Code
Course Type Obligatory
Track –
Teaching Hours 4 Theory + 1 Tutorial
ECTS: 5
1. Design, Organization and Technology of Computers.
2. Computer Performance and Performance Evaluation Metrics.
3. Instruction Set Architecture (Registers, Instructions, Addressing Methods).
4. Machine Language, Symbolic Language (Assembly) and Assemblers.
5. Computer Arithmetic. Representation of integers and floating-point numbers.
6. Processor Design: Datapath and Control Unit.
7. Performance mechanisms (pipeline).
The main goal of the course is to introduce students to the basic concepts of computer organization, the design and organization of the main computer components and the assembly language.
Upon successful completion of the course, the students:
• will be familiar with the basic design techniques of modern computers
• will have identified and understood the interface between software and computer hardware
• will have understood how the software controls the hardware
• will be able to design and develop programs in computer assembly language
• will know how to use processor architectural simulators tools and run assembly programs
• will be able to analyze/evaluate the performance of a program and advise the developer on how to improve it
• will be able to identify the parameters that affect the computer performance
• will be able to evaluate the performance and compare different processors
540 Central Building
Mathematics for Computer Science
Course Code
Course Type Obligatory
Track –
Teaching Hours 4 Theory + 1 Tutorial
ECTS: 5
Introduction to Set Theory: Sets. Mappings. Operations. Relations. Equivalent Sets.Basic Principles:Mathematical Induction. The Inclusion – Exclusion Principle. The Pigeonhole Principle. The Principle of Diagonalization.Mathematical Logic:Language of Propositional Logic. Truth Values. Truth Assignment. Logical Implication. Axioms and Completeness of Propositional Calculus. Truth Trees. Resolution Principle. First Order Logic. Quantifiers.Boolean Algebra:Lattices. Operations. Switching Circuits.Introduction to Combinatorics: Orderings. Permutations. Combinations.Differences – Sums:Difference Operator. Factorial Polynomials. Newton's Binomial Theorem.Elements of Number Theory: Divisibility. GCD. Euclid's Algorithm. Prime Numbers. Congruence Relations. Euler-Fermat Theorem.
After successfully completing this course, students are expected to have acquired the basic knowledge regarding some basic principles and notions of Mathematics and Mathematical Logic, which are necessary for the students of an undergraduate course in Computer Science.
Sapounakis Aristides
542, CB
+30 210 4142262
-, GL126
+30 210 4142347