Introduction to Computer Science (MAY242): Διαφορά μεταξύ των αναθεωρήσεων

Από Wiki Τμήματος Μαθηματικών
Χωρίς σύνοψη επεξεργασίας
Χωρίς σύνοψη επεξεργασίας
 
(17 ενδιάμεσες αναθεωρήσεις από τον ίδιο χρήστη δεν εμφανίζεται)
Γραμμή 1: Γραμμή 1:
[[Undergraduate Courses Outlines]] - [https://math.uoi.gr  Department of Mathematics]
* [[Εισαγωγή στην Επιστήμη της Πληροφορικής (ΜΑΥ242)|Ελληνική Έκδοση]]
{{Course-UnderGraduate-Top-EN}}
{{Menu-OnAllPages-EN}}


=== General ===
=== General ===
Γραμμή 26: Γραμμή 28:
! Course Title
! Course Title
|
|
Introduction to Computers
Introduction to Computer Science
|-
|-
! Independent Teaching Activities
! Independent Teaching Activities
Γραμμή 48: Γραμμή 50:
|-
|-
! Course Website (URL)
! Course Website (URL)
| -
| See [https://ecourse.uoi.gr/ eCourse], the Learning Management System maintained by the University of Ioannina.
|}
|}


Γραμμή 57: Γραμμή 59:
! Learning outcomes
! Learning outcomes
|
|
The course:
This course offers an introduction to the Computer Science. It mainly focuses on how to algorithmically solve simple and complex mathematical problems. It provides basic programming techniques using a high-level programming language such as C/C ++. Moreover, the course analyzes the basic numbering systems, it provides the basic arithmetic operations in different numerical systems and refers to the representation of information on computer systems. Additionally, the course provides basic concepts of mathematical logic, such as Boolean algebra, and principles that govern the semantic and syntactic approach of propositional logic. Upon completion of the course, the students will be able to:
*is a general  introduction to computers and their use
* Recognize different numbering systems and process number representations on computer systems.
*focuses in the process of designing algorithms for the solution of simple as well as more complex problems which are of general interest but also problems in the area of mathematics. For the description of the algorithms a pseudocode language or flow diagrams are used and it provides basic principles of computer programming using a high level programming language such as C/C++ for the solution of the problems in (2) and the coding of the corresponding algorithms.
* Understand basic concepts and theorems of propositional logic, make use of metatheorems of propositional logic and understand the formal proof of logical expressions through the syntactic approach.
After completing the course the student:
* Describe basic algorithms for solving simple and complex mathematical problems and implement algorithms by using basic concepts of a programming language (C/C ++).
* Can identify the different parts of a computer and knows the hardware and software that make up the computer system. Understands the basic internal operation of a computer.
The course includes laboratory exercises in which the participation is obligatory.
* Can describe basic algorithms using flowcharts or pseudocode for the solution of a problem. Is able to create a program using the basic features of a programming language (C/C++).
|-
|-
! General Competences
! General Competences
|
|
* Search for, analysis and synthesis of data and information, with the use of the necessary technology
* Working independently  
* Working independently  
* Description of the solution process of problems using flow diagrams or a pseudocode language
* Team work
* Implementing algorithms in C and C++
* Project planning and management
* Solving a problem using a computer
* Development of algorithmic thinking
|}
|}


=== Syllabus ===
=== Syllabus ===


# Computer - Hardware, Software
* Introduction to Numerical Representation
# Binary system - data representation
*# Arithmetic operations in numerical systems
# Algorithms description methods, Flow diagrams, Greek algorithmic language
*# Representations of binary numbers
# Program Design
* Introduction to Mathematical Logic (Boolean Algebra)
# Basic features of the programming language C/C++, Integrated development environment
*# Semantic approach: principles of propositional logic, conjunctive normal form (CNF), complete sets, meta-theorems
# Basic data types
*# Syntactic approach: axioms, Modus Ponens rule, meta-theorems (abduction, inversion), validity and completeness theorems.
# Operators, Arithmetic / Logic expressions
* Basic Programming Techniques with programming language C/C++
# Assignment operators
*# Input/Output data, type of structures and variables
# Input / Output  
*# Flow control if/else
# Program flow control commands
*# Loop structures: for, while, do-while
# Selection commands
*# Defensive Programming
# Loop commands
*# Arrays (one dimension and multidimensions)
# Arrays
# Introduction to user defined functions
# Applications, examples, and exercises in problem solving of simple and complex problems using C/C++
# The course includes laboratory exercises


=== Teaching and Learning Methods - Evaluation ===
=== Teaching and Learning Methods - Evaluation ===
Γραμμή 97: Γραμμή 95:
! Delivery
! Delivery
|
|
Face to face
Lectures, labs session
|-
|-
! Use of Information and Communications Technology
! Use of Information and Communications Technology
|
|
Yes
* Projector and interactive board during lectures.
* Computer for demonstration of programming.
* Computers in laboratories for development and testing of programs.
* Course website maintenance.
* Announcements and posting of teaching material (lecture slides and notes, programs).
* Assessment marks via the ecourse platform by UOI.
|-
|-
! Teaching Methods
! Teaching Methods
Γραμμή 124: Γραμμή 127:
! Student Performance Evaluation
! Student Performance Evaluation
|
|
Written final exam (70%) comprised of:
Written final exam (70%)
* multiple choice questions related to the theory of computers and the programming  language C/C++
* Multiple choice questions.
* questions about the design and implementation of algorithm for the solution of problems using C/C++
* Develop programs and Implementation.
Laboratory exercises (30%).
Laboratory exercises (30%).
* Multiple choice questions.
* Develop programs and Implementation.
|}
|}


=== Attached Bibliography ===
=== Attached Bibliography ===


Suggested bibliography:
<!-- In order to edit the bibliography, visit the webpage -->
* Teach yourself  C ++, Herbert Schildt.
<!-- https://wiki.math.uoi.gr/index.php/%CE%A0%CF%81%CF%8C%CF%84%CF%85%CF%80%CE%BF:MAY242-Biblio -->
* C Programming, Deitel Harvey M., Deitel Paul J.
 
* C ++ Programming 6th Edition, Deitel Harvey M., Deitel Paul J.
See the official [https://service.eudoxus.gr/public/departments#20 Eudoxus site] or the [https://cloud.math.uoi.gr/index.php/s/62t8WPCwEXJK7oL local repository] of Eudoxus lists per academic year, which is maintained by the Department of Mathematics. Books and other resources, not provided by Eudoxus:
* Complete  C++, Savitch Walter.
 
* C++, 9t h Edition,  Savitch Walter
{{MAY242-Biblio}}
* C++ for Mathematicians: An Introduction for Students and Teachers, Edward Scheinerman.
Websites for C/C++
* www.cplusplus.com
* www.cprogramming.com/
* www.tutorialspoint.com/cplusplus
* www.learncpp.com

Τελευταία αναθεώρηση της 12:23, 15 Ιουνίου 2023

General

School

School of Science

Academic Unit

Department of Mathematics

Level of Studies

Undergraduate

Course Code

MAY242

Semester 2
Course Title

Introduction to Computer Science

Independent Teaching Activities

Lectures and laboratory exercises (Weekly Teaching Hours: 5, Credits: 7.5)

Course Type

General Background

Prerequisite Courses -
Language of Instruction and Examinations

Greek

Is the Course Offered to Erasmus Students

Yes (in English)

Course Website (URL) See eCourse, the Learning Management System maintained by the University of Ioannina.

Learning Outcomes

Learning outcomes

This course offers an introduction to the Computer Science. It mainly focuses on how to algorithmically solve simple and complex mathematical problems. It provides basic programming techniques using a high-level programming language such as C/C ++. Moreover, the course analyzes the basic numbering systems, it provides the basic arithmetic operations in different numerical systems and refers to the representation of information on computer systems. Additionally, the course provides basic concepts of mathematical logic, such as Boolean algebra, and principles that govern the semantic and syntactic approach of propositional logic. Upon completion of the course, the students will be able to:

  • Recognize different numbering systems and process number representations on computer systems.
  • Understand basic concepts and theorems of propositional logic, make use of metatheorems of propositional logic and understand the formal proof of logical expressions through the syntactic approach.
  • Describe basic algorithms for solving simple and complex mathematical problems and implement algorithms by using basic concepts of a programming language (C/C ++).

The course includes laboratory exercises in which the participation is obligatory.

General Competences
  • Search for, analysis and synthesis of data and information, with the use of the necessary technology
  • Working independently
  • Team work
  • Project planning and management
  • Development of algorithmic thinking

Syllabus

  • Introduction to Numerical Representation
    1. Arithmetic operations in numerical systems
    2. Representations of binary numbers
  • Introduction to Mathematical Logic (Boolean Algebra)
    1. Semantic approach: principles of propositional logic, conjunctive normal form (CNF), complete sets, meta-theorems
    2. Syntactic approach: axioms, Modus Ponens rule, meta-theorems (abduction, inversion), validity and completeness theorems.
  • Basic Programming Techniques with programming language C/C++
    1. Input/Output data, type of structures and variables
    2. Flow control if/else
    3. Loop structures: for, while, do-while
    4. Defensive Programming
    5. Arrays (one dimension and multidimensions)

Teaching and Learning Methods - Evaluation

Delivery

Lectures, labs session

Use of Information and Communications Technology
  • Projector and interactive board during lectures.
  • Computer for demonstration of programming.
  • Computers in laboratories for development and testing of programs.
  • Course website maintenance.
  • Announcements and posting of teaching material (lecture slides and notes, programs).
  • Assessment marks via the ecourse platform by UOI.
Teaching Methods
Activity Semester Workload
Lectures (13X5) 65
Self study 100
Exercises 22.5
Course total 187.5
Student Performance Evaluation

Written final exam (70%)

  • Multiple choice questions.
  • Develop programs and Implementation.

Laboratory exercises (30%).

  • Multiple choice questions.
  • Develop programs and Implementation.

Attached Bibliography

See the official Eudoxus site or the local repository of Eudoxus lists per academic year, which is maintained by the Department of Mathematics. Books and other resources, not provided by Eudoxus:

  • Η. Deitel and P. Deitel, C++ Προγραμματισμός 6η Εκδοση, Εκδόσεις Μ. Γκιούρδας, 2013. Κωδικός Ευδ: 12536819.
  • Κωδικός Ευδόξου [77106820]: Διακριτά μαθηματικά και εφαρμογές τους, 8η Έκδοση, Kenneth H. Rosen
  • Κωδικός Ευδόξου [86055409]: Διακριτά μαθηματικά, Hunter David (Συγγρ.)
  • Κωδικός Ευδόξου [77109607]: Εισαγωγή στην πληροφορική, Evans Alan, Martin Kendall, Poatsy Mary Anne.
  • Ζάχος, Ε., Παγουρτζής, Α., Σούλιου, Θ., 2015. Θεμελίωση επιστήμης υπολογιστών. [ηλεκτρ. βιβλ.] Αθήνα:Σύνδεσμος Ελληνικών Ακαδημαϊκών Βιβλιοθηκών. Διαθέσιμο στο: http://hdl.handle.net/11419/545
  • [Περιοδικό / Journal] IEEE Transactions on Computers