Faculty: Faculty of Engineering
Department(s): All Faculty
Course: Introduction to Programming
Weekly hours: Theory: 2 Exercises: 1
ECTS Credits: 5
Semester: Spring
Lecture Schedules:
Lecturer: Dr. Hiqmet Kamberaj
Room Number: 409
Phone Number of the lecturer: +389 (0)23174010 (ext. 123)
E-mail address of the lecturer: km.ude.ubi|jarebmakh#km.ude.ubi|jarebmakh
Course Objectives:
The aim of the course is to give some basic terms, concepts, general structure and methodology of programming. The course covers the topics of introduction to machine architecture, introduction to binary operations, computer languages, programming phases, algorithms, flow charts, data types, control structures and some object oriented concepts. C++ programming language is applied during the laboratory classes.
Learning Outcomes:
After completing this course, students will be able to:
- Describe a typical computer system and its critical components
- Describe the software development process, its purpose, critical steps, and where programming fits in that process
- Describe the purposes of programming and software development
- Describe the evolution of common characteristics of, and differences among, modern programming languages
- Define an integrated development environment
- Describe the architectural aspects of a software application
- Identify a problem that requires a programmed solution
- Use common abstract methods to describe the solution concept
- List and describe common operators
- Implement variables, conditional statements, looping constructs, and procedures
- Implement array, pointer, recursive and iteration programming techniques
Skill outcomes | Necessary ( + ) Not Necessary ( –) |
---|---|
Written communication skills | + |
Oral communication skills | + |
Computer skills | + |
Working in laboratory | + |
Working team | + |
Preparing projects | + |
Knowledge of foreign language | + |
Scientific and professional literature analysis | + |
Problem solving skills | + |
Management skills | + |
Presentation skills | + |
Course Textbooks:
- H. Kamberaj, Lecture Notes in Introduction to programming using C++, 2013.
- H. Kamberaj, Computer Lab Tutorials using C++, 2013.
- Baeckman, K. Structured Programming with C++. s.l. : Ventus Publishing ApS, 2012.
- M. Felleisen, R.B. Findler, M. Flatt and S. Krishnamurthi, How to Design Programs. An Introduction to Computing and Programming. The MIT Press, (Cambridge, Massachusetts, London, England), 2001.
- Anthony A. Aaby (2004), Introduction to Programming Languages. (http://burks.brighton.ac.uk/burks/pcinfo/progdics/plbook/index.htm)
Teaching methods | Ideal % |
---|---|
Teaching ex cathedra (teacher as the figure of authority, standing in front of the class and lecturing) | 75 |
Interactive teaching (ask questions in class, assign and check homework, or hold class or group discussions) | 10 |
Mentor teaching (consultant-teacher who has a supervisory responsibility and supervising the students) | - |
Laboratory work | 10 |
Seminar work | - |
Field Work (enables students to examine the theories and the practical experiences of a particular discipline interact) | - |
Semester project | 2 |
Case Study (An in-depth exploration of a particular context) | - |
Students Team work | 3 |
Attendance:
- Students are obliged to attend at least 10 weeks out of 14 weeks of lectures, exercises, and other activities (72%).
- The teaching staff should monitor and submit Course Attendance Report to the Student Affairs Office at the end of 14th week of each semester.
- The attendance rule for failed overlapping courses is %36 (5 weeks) and for non-overlapping courses is 57% (8 weeks);
- The attendance rule for course from upper semester is 57% (8 weeks).
- Students are not obliged to attend the course if the course is double repeated. However, they need to register and to pay repeated course.
Exams (Mid-Term Exam, Final Exam, Make-up Exam):
There are two exams, the Mid-Term and Final Exam, at the middle and at the end of the semester, respectively. The students, who do not earn minimum 50 credit points from the Mid-Term, Final Exam including Homework Assignments, have to take the Make-Up Exam, which counts only for Final Exam credit points. The terms of the exams are defined by the Academic Calendar announced on the University web site.
Passing Score:
The maximum number of credit points is collected during the semester, as follows: Mid-term Exam = 40 Credit Points (minimum requirement is 10 CPs (midterm exam + activity) to enter Final Exam), Final Exam (minimum requirement is 25 % to pass) = 40 Credit Points. Homeworks, quizzes, specific assignments and term papers = 20 Credit Points (minimum requirement is 5 credit points to enter Final Exam). Total=100.
Weekly Study Plan
Weeks | Topics |
---|---|
1 | Introduction to the philosophy of this course. Introduction to Machine Architecture: Hardware, Software. Computer Lab: Introduction to Netbeans IDE. A simple program in C++. |
2 | Introduction to Binary Operations: Binary to Decimal Conversion, Decimal to Binary Conversion. Computer Lab: Adding subtracting numbers. Integer numbers in C++. |
3 | Binary Operations (addition, subtraction). Computer Lab: Exercises on binary numbers. |
4 | Data Types and Identifiers. Computer Lab: Adding subtracting numbers. Integer numbers in C++. |
5 | Expressions. Computer Lab: Learning about variables and identifiers in C++. Data types. |
6 | Algorithms. Computer Lab: Assignments and Expressions in C++. |
7 | Mid term review - discussion - 2 CPs of activity. |
- | Mid Term Exam Week |
8 | Flow Chart Symbols and Examples. Computer Lab: Loops in C++. |
9 | Flow Chart Structures and Examples. Computer Lab: Files and streams in C++. |
10 | Control Structures: If Then Else, Do While, Sub Programs, Input/Output, and Abstraction. Computer Lab: Exercises on Flowcharts. |
11 | Object oriented concepts: Implementation of abstract data types, class, object, and message. Inheritance, multiple inheritance, abstract classes, generic types, static and dynamic binding, and polymorphism. Computer Lab: Boolean variables, branches. |
12 | Interpreters, Compilers, Debugging. Computer Lab: Functions and subprograms. |
13 | Programming Phases. Computer Lab: Arrays and Strings and Pointers. |
14 | Final exam review - discussion - 3 CPs of activity. |
- | Final exam week. |
Student workload:
For calculating the Total Student Work Load we multiply the course ECTS credits with standard figure 30. (ECTS Credit: 5) x 30 = 150 hours.
Activities | Hours |
---|---|
Lecture hours for 14 weeks: | 28 |
Laboratory and class exercises for 14 weeks: | 14 |
Student Mentoring for 14 weeks: | - |
Consultation for 14 weeks: | 4 |
Exam preparations and exam hours (Midterm, final, Makeups) : | 20 |
Individual reading work for 14 weeks (Reading assignments/expectations for reading and comprehension is 5 pages per hour. Example: If a book 300 pages, total Individual reading work for 14 weeks 300:5 = 60 hours. | 40 |
Homework and work practice for 14 weeks: | 44 |
Preparation of diploma work, for 14 weeks: | - |