Introduction to computer science

Course Code:

Π-1030

Semester:

1st semester

Course Hours:

3 (+2)

ECTS:

7


Learning Outcomes 

Upon successful completion of the course, students will: 

  • Acquire fundamental knowledge of the operating principles of Computers (PCs), the methods of organizing and representing digital information, and basic programming principles using the Python programming language. 
  • Understand computer architecture, the organization and utility of internal and external devices, the various forms of digital information representation (codes, text, images, sound, multimedia content, etc.), and fundamental object-oriented programming (OOP) concepts, such as algorithms, data structures, command types, classes, etc. 
  • Apply their acquired knowledge to create documents, spreadsheets, and presentations as exercises (office applications) and develop both simple and more complex programs using the Python programming language. 
  • Analyze how computers function at both hardware and software levels, along with the characteristics of different digital information representation formats, their relation to library related data, and the use of computers for problem-solving through programming. 
  • Be able to design complete solutions by selecting appropriate computing infrastructures to support library applications and data while integrating algorithmic structures and coding to solve more complex problems. 
  • Evaluate the degree to which an information organization’s needs are met concerning proposed/offered computing and software solutions. 

General Competencies 

  • Research, analysis, and synthesis of data and information using appropriate technologies. 
  • Independent work. 
  • Decision-making. 
  • Application of rules to real-world problems. 

 

Course Content 

The course is divided into the following sections: 

  1. Information and Information Organizations 
    DIKW hierarchy, concept of information, information and knowledge in natural language, philosophy of information, libraries, and information organizations. 
  1. Representation of Information in the Digital World 
    Binary representation, codes, text, images, sound, video, 3D representation, digitization process, text and speech recognition technologies, etc. 
  1. Computers 
    Architectural models, categories of computers, Central Processing Unit (CPU), Arithmetic Logic Unit (ALU), Control Unit (CU), Memory Units (RAM, Cache, etc.), input/output devices (monitors, printers, scanners, etc.). 
  1. Data Structures & Algorithms 
    Variables, arrays, records, files, databases, flowcharts, pseudocode, basic algorithmic structures (sequence, selection, iteration), command types, etc. 
  1. Basic Programming Principles – Python Programming Language 
    Programming environment, classes, class hierarchy, basic commands, simple programs, etc. 
  1. Programming Tools (Python, GitHub) 
  1. Office Applications (Microsoft Office: Word, Excel, PowerPoint) 

 

Student Evaluation 

The final course grade is based on the theoretical (70%) and the laboratory (30%) part pf the the course. Specifically, for the theory, the grade is calculated from the following: 

  • Midterm Exam (optional) 
  • Assignment (optional) 
  • Final Exam (mandatory; includes theory questions and exercises) 

 

For the laboratory, the grade is calculated as follows: 

  • Weekly assignments and final exam (mandatory; hands-on exercises on the computer) 

Criteria: 

  • Understanding of fundamental computer operating principles. 
  • Ability to identify appropriate data structures and their characteristics for digital information representation and storage. 
  • Ability to develop simple and complex programs using pseudocode and Python. 
  • Proficiency in office applications. 

The topics of the assignments, the detailed criteria, and the thorough grading method are posted on the course’s asynchronous learning platform at the start of the semester. 

 

Recommended Bibliography 

  1. Kouis, D., & Dendrinos, M. (2010). Introduction to Information Technology (1st ed.). Athens: New Technologies Publications. 
  2. Dendrinos, M., Kouis, D. (2016). Basic Principles and Technologies in Information Science. [E-book] Athens: Greek Academic Libraries Association. Available at: http://hdl.handle.net/11419/6447 
  3. Kalafatoudis, S., Drositis, I., Koilias, Ch. (2012). Introduction to Information and Communication Technologies. Athens: New Technologies Publications. 
  4. Forouzan, B. A., Stefanidis, G., & Chatzigeorgiou, A. (2015). Introduction to Computer Science: Fundamental Concepts – From Data Handling to Computation Theory (3rd Edition). Athens: Kleidarithmos. 
  5. Douligeris, Ch., Mavropodi, R., Kopanaki, E., Karalis, A. (2017). Technologies and Programming on the World Wide Web. Athens: New Technologies Publications. 
  6. David J. and Michael Kollings. (2016). Objects First with Java: A Practical Introduction using BlueJ (6th ed). Prentice Hall Press. Upper Saddle River, NJ, USA. 
  7. Kouis, D. (2018). BlueJ User Guide with Examples (Electronic Notes). 
  8. Witten, I. H., Bainbridge, D., & Nichols, D. M. Digital Libraries. Springer.