Programming Techniques

This course is an introduction to the basic concepts of computer programming for the department’s students. Course content aims to provide students with an understanding of the usefulness of different programming languages and their philosophy. During the course, students will get familiarized with the basic principles of computer programming and the various programming paradigms through their practical involvement with different programming languages, and they will acquire the necessary background for the relevant courses that follow in the next semesters.
  • Lecturer 1 : Giannis Tzimas
  • Semester : Semester 1

Course content comprises of:

  • An Introduction to Programming: Why to write software, Programming Language Categories, Selection Criteria.
  • An introduction to the Scratch Programming Language: Programming with Visual Tools, Troubleshooting – Choosing Alternatives, Logic Diagram, and Program Structure, Command Sequence, Repetition, Coordinate Systems, and Direction.
  • Utilizing Branch Commands, Conditions, Repetition, and Loops (forever, counting, and conditional loops), Memory and Variables, Commenting the Code, Testing, and Design Patterns.
  • An Introduction to JavaScript Programming Language: Why JavaScript, Utilizing Node.js, Programming Languages Syntax, and Best Practices in Code Writing, Variables & Data Types, An Introduction to Functions.
  • Functions, Parameters, Variable Scope, Program Flow Control with Branch Commands and Loops, Operators.
  • Objects, Organizing code in files, Testing through NodeUnit, Utilizing JavaScript for Web Applications – Express.js.
  • An Introduction to Python Programming Language: Abstraction, Why Python, Variables & Data Types, Branch Commands, Loops, Functions, A Comparison with other Programming Languages.
  • Top-Down Design, Functions, Lists, Strings, Tuples, Sets, and Dictionaries, Utilizing Data Structures in Programming.
  • Object-Oriented Programming Concepts, Objects, Creating Objects – Instantiation, Classes, Methods, Attributes, Variables, and Objects.
  • Inheritance, Encapsulation, Polymorphism, Synthesis, Modules, and Packages.
  • An Introduction to HTML5 and CSS3: The World Wide Web, Markup Languages, Web Page Structure, HTML Syntax, HTML Elements and Tags, Attributes, Cascading Style Sheets, Syntax, CSS Box Model.
  • New Elements, New JavaScript APIs, Web Applications.