CMPE-CMSE 107 Foundations of Computer-Software Engineering

Announcement about Midterm Exam

Contents, and rules (TXT-11-24)

Course Material 

Course Outline (PDF-11-24),   
Ch-00 (PDF-10-07), Ch-01 (PDF-10-07), Ch-01-Exercises (PDF-10-19), 
Ch-02 (PDF-10-19), Ch-02-Exercises (PDF 11-11)
Ch-03 (PDF-10-19), Ch-03-Exercises (PDF 11-11)
Ch-04 (PDF-11-11), Ch-04-Exercises (PDF 11-11)
Sample-Midterm-Questions (PDF 11-12)



  • Assoc. Prof. Dr. Adnan Acan E-mail:,  Office: CMPE110  Group 1
  • Asst. Prof. Dr. Cem Ergün      E-mail:,  Office: CMPE108  Group 2
  • Assoc. Prof. Dr. Mehmet Bodur (Coord.) E-mail:, Office: CMPE111  Group 3-4
  • Res. Assist. John Olorunfemi Olaife E-mail: Office Cmpe104 Group 5

Catalog description:

  • Design of computer algorithms with pseudo-code to solve problems, analyze engineering related problems using computer. 
  • Basic elements of a high level computer programming language: Data types, constants and variables, arithmetic and logical operators and expressions. 
  • Fundamental components of Python programming language: Storing and manipulating user-input data, design and use of selection structures, design and use of repetition structures, lists and other data structures, functions, modular designs, dictionaries and sets, file input/output.

  • Charles Dierbach, Computer Science using Python: A Computational Problem Solving Focus, Wiley,  ISBN 978-0-470-55515-6
Indicative basic reading list:
  • Eric Matthes, Python Crash Course: A Hands-on Project-based Introduction to Programming,  ISBN-10: 1-59327-603-6

Topics covered and class schedule: 

  • Oct-04 Oct-09 Week 1 A closer look at a computer system: Basic software and hardware components.
  • Oct-11 Oct-16 Week 2  Introduction to problem solving techniques, Algorithms and  Pseudo Code
  • Oct-18 Oct-23 Week 3 Introduction: basic data types, constants, variables, operators and expressions.
  • Oct-25 Oct-30 Week 4 Data and Expressions: Writing code to store and manipulate user-input data.
  • Nov-01 Nov-06 Week 5 Data and Expressions: Cont.,   Control and repetition structures.
  • Nov-08 Nov-13 Week 6 Control and repetition: Cont..  Lists ans List comprehensions
  • Nov-15 Nov-20 Week 7  Lists: Cont.
  • Nov-22 Dec-04 Midterm
  • Dec 06  Dec 11 Week 8  Lists: Cont, Functions
  • Dec-13 Dec-18 Week 9 Functions: Cont, 
  • Dec-20 Dec-25 Week 10  Modular designs Dictionaries and Sets
  • Dec-27 Jan-01 Week 11 Modular: Cont.
  • Jan-03  Jan-08 Week 12 File Input/Output
  • Jan-10 Jan-15   Week 13 File: Cont
  • Jan 17  Jan 29 Final Exam


  • Weeks 1, 2         No Lab
  • Week 3: LAB 1 Introduction to Python Programming Environment/Numbers and Variable Assignment
  • Week 4: LAB 2 Strings and Printing formatting 
  • Week 5: LAB 3 Sequential code structure in Python Programming
  • Week 6: LAB 4 Selective code structure in Python Programming
  • Week 7: LAB 5 Repetitive code structure in Python Programming 
  •        Midterm
  • Week 9: LAB 6 Lists and Other Data Structures to Store Data
  • Week10: LAB 7 Functions and Their Use in a Program / File Input/Output
  • Week 12:    Lab Final Exam


 Assessment Method     No      Percentage
 Midterm Exam . . . . . . .   1     . . . . .  35%  
 Final Exam. . . . . . . . . . .  1      . . . . .  45%  
 Lab Work +Lab Exam . .  7+1 . . . . .  20%

Policy on makeups: 

For eligibility to take a makeup exam, the student should bring (submit) a doctor's report within 3 working days of the missed exam. You will have only one make-up for midterm or final exams only. Make-up will be organized after final exam period and will cover all the materials covered during the semester.

Attendance to lectures: 

Attendance will be taken in every lecture but will not be graded.
Attendance to labs: There is no makeup for labs. For a missed lab session, lab grade for that session will be taken as zero. If a student does not attend more than two lab sessions, his/her overall lab grade will be taken as zero.

Policy on cheating and plagiarism: 

Any student caught cheating in exams or in any other graded course work will automatically fail from the course and may be sent to the disciplinary committee at the discretion of the instructor.
Policy on NG grades: NG grade will be given in case of Missing Midterm and Final without official excuse.

Contribution of course to ABET criterion 5

Credit Hours for:

Mathematics & Basic Science : 0 Engineering Sciences and Design : 4 General Education : 0

Relationship of the course to program outcomes

The course has been designed to contribute to the following program outcomes:
  • 1.  an ability to identify, formulate, and solve complex engineering problems by applying principles of engineering, science, and mathematics
  • 6.  an ability to develop and conduct appropriate experimentation, analyze and interpret data, and use engineering judgment to draw conclusions

Prepared by:

Assoc. Prof. Dr Adnan ACAN,    Assist. Prof. Dr. Cem ERGÜN,  Assoc. Prof. Dr. Mehmet Bodur 

Date Prepared   23 September 2019 

Date Modified    10 October 2020,  04 October 2021