CMPE-CMSE-AING 107 Foundations of Computer-Software Engineering


Midterm Exam Paper Check: 30/04/2024 at 16:30 in room:CMPE035


Name: Asst. Prof. Dr. Cem Ergün      E-mail:              Office: CMPE108  Group 1,2

Name:  Asst. Prof. Dr. Ahmet Ünveren         E-mail:             Office: CMPE212  Group 3

Catalog description:   download pdf version

  • 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

Brief list of topics to be covered:

Week 1A closer look at a computer system: Basic software and hardware components.
Week 2-3Introduction to problem solving techniques, Algorithms and  Pseudo Code
Week 4Introduction to Python programming language: basic data types, constants and variables, basic operators and expressions.
Week 5Data and Expressions: Writing code to store and manipulate user-input data.
Week 6Control and repetition structures, Lists and List comprehensions (if time permits)
Weeks 7-8-9 Mid-Term Examination and Regional Holiday
Week 10Lists and List comprehensions (continued) and Functions 
Week 11Functions with List, Dictionaries and Sets
Weeks 12File Input/Output.
Weeks 13-14File Input/Output (continued) and Solving examples  

Laboratory  (Check for the exact dates here)

  • Weeks 1, 2, 3         No Lab
  • Week 4: LAB 1&2  Introduction to Python Programming Environment/Numbers and Variable Assignment/
                                     Strings and Printing formatting
  • Week 5: LAB 3   Sequential code structure in Python Programming
  • Week 6: LAB 4  Selective code structure in Python Programming
  • Midterms and regional holiday
  • Week 10: LAB 5  Repetitive code structure in Python Programming   
  • Week 11: LAB 6  Lists in Python Programming
  • Week 12: LAB 7  Functions and Their Use in a Program / File Input/Output
  • Week 13: LAB 8     Dictionaries and Text Files in Python Programming
  • Week 14-15:    Lab Final Exam


 Assessment Method     No       Percentage
 Midterm Exam . . . . . . .   1     . . . . .  40%  
 Final Exam. . . . . . . . . . .  1      . . . . .  45%  
 Lab Work  ............... .   .  7 . . . . .  15%

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:

Assist. Prof. Dr. Cem ERGÜN - Assoc. Prof. Dr Adnan ACAN