Ministry of Higher Education and
Scientific Research - Iraq
                                       University of Baghdad
                                       College of Engineering
                                Department of Computer Engineering
                           MODULE DESCRIPTOR FORM
                            نموذج وصف المادة الدراسية
                                         Module Information
                                          معلومات المادة الدراسية
  Module Title             Computer Programming                                  Module Delivery
  Module Type                            CORE
  Module Code                        COE108
                                                                                Class lecture + Lab
  ECTS Credits                            5
SWL (hr/sem)                             125
                 Module Level        1                         Semester of Delivery                2
  Administering Department Computer                  College      Engineering
Module Leader          Mohammed Al-Shammaa           e-mail      m.alshammaa@coeng.uobaghdad.edu.iq
                                                                   Module Leader’s
  Module Leader’s Acad. Title        Lecturer                                                     Ph.D
                                                                     Qualification
 Module Tutor              Furat Nidhal              e-mail            furat@bccru.uobaghdad.edu.iq
Peer Reviewer Name                                   e-mail
Review Committee Approval           30/5/2024        Version Number                         1.0
                                 Relation With Other Modules
                                   العالقة مع المواد الدراسية األخرى
Prerequisite module      COE103                                                  Semester          1.1
Co-requisites module     None                                                    Semester
    | Page1
                Module Aims, Learning Outcomes and Indicative Contents
                        أهداف المادة الدراسية ونتائج التعلم والمحتويات اإلرشادية
                                •   Learning how to use functions in programming.
          Module Aims           •   Learning how to use Modules to solve real-life and scientific problems.
        أهداف المادة الدراسية   •   Gaining knowledge of essential OOP concepts like: class, inheritance, and
                                    data encapsulation.
                                By the end of this module, students will be able to:
                                    1. Understand and Use Standard Data Structures
                                       o Learn to use Tuples, Sets, and Dictionaries
                                    2. Process Text Files
                                       o Read from and write to a text file
                                    3. Understand and Use Functions
                                       o Describe why functions are used.
     Module Learning                   o Use functions to solve problems.
                                       o Learn passing argument to functions, returning values from
           Outcomes
                                          functions, and using recursive functions.
                                    4. Understand and Use Modules
مخرجات التعلم للمادة الدراسية
                                       o Understand what a module is.
                                       o Learn how to use modules or parts of modules.
                                    5. Use Modules in Various Applications
                                       o Learn using widely used modules like: os, pandas, selenium,
                                          BeautifulSoup, JSON, and Matplotlib in various applications.
                                    6. Get Essential Knowledge About OOP
                                       o Get knowledge of essential OOP concepts like: class, inheritance,
                                          and data encapsulation
                                    •    Standard Data Structures
                                    •    Files
Indicative Contents                 •    Functions and Recursive Functions
  المحتويات اإلرشادية               •    Modules
                                    •    Classes
                                    Learning and Teaching Strategies
                                           استراتيجيات التعلم والتعليم
                                    1) Lectures.
                                    2) Homework and Assignments.
              Strategies            3) Tests and Exams.
                                    4) In-Class Questions and Discussions.
                                    5) In- and Out-Class oral conversations.
  | Page2
                                              Student Workload (SWL)
                                                  الحمل الدراسي للطالب
          Structured SWL (h/sem)                                           Structured SWL (h/w)
                                                    79                                                             5.3
   الحمل الدراسي المنتظم للطالب خالل الفصل                           الحمل الدراسي المنتظم للطالب أسبوعيا
       Unstructured SWL (h/sem)                                         Unstructured SWL (h/w)
                                                    46                                                             3.1
الحمل الدراسي غير المنتظم للطالب خالل الفصل                      الحمل الدراسي غير المنتظم للطالب أسبوعيا
                  Total SWL (h/sem)
                                                                                    125
     الحمل الدراسي الكلي للطالب خالل الفصل
                                                     Module Evaluation
                                                      تقييم المادة الدراسية
                                          Time/
                                                                                                            Relevant Learning
                                          Numbe           Weight (Marks)             Week Due
                                         As                                                                          Outcome
                                            r
                                                                                                        LO #1-3,
                 Quizzes                        3            10% (10)                  4, 8, 12         LO #4-5,
 Formative                                                                                              LO #6
assessment
           Assignments           2                           5% (5)                     8, 14           LO #1-3, LO #4-5
           Lab.                  5                          20% (20)                    1-15            LO #1-6
           Project               1                           5% (5)                      12             LO # 1-6
Summative Mid Exam               1                          10% (10)                     15             LO # 1-4
assessment
           Final Exam           4 hr                        50% (50)                     16             All
                     Total assessment                    100% (100 Marks)
                                              Delivery Plan (Weekly Syllabus)
                                                    المنهاج االسبوعي النظري
            Week
             Material Covered
Week 1        Review to Python Programming
Week 2        Python standard data structures: Tuples, Sets, and Dictionaries
Week 3        Python text files: reading from and writing to a file
Week 4        Python function creation, return values and calls
Week 5        Function arbitrary arguments, passing lists to a function, and recursive functions
Week 6        Python module: os
Week 7        Python module: pandas
Week 8        Python module: selenium
Week 9        Python module: BeautifulSoup
Week 10       Python module: JSON
    | Page3
       Week 11      Python module: Matplotlib
       Week 12      Applications of Python Modules: Excel manipulation
       Week 13      Applications of Python Modules: using API’s
       Week 14      Applications of Python Modules: web scraping
       Week 15      Python classes and OOP: classes, objects, attributes, and methods.
       Week 16      Final Exam
                                         Delivery Plan (Weekly Lab. Syllabus)
                                                  المنهاج االسبوعي للمختبر
Week                  Material Covered
        Week 1        Review to Python Programming
        Week 2        Python standard data structures: Tuples, Sets, and Dictionaries
        Week 3        Python text files: reading from and writing to a file
        Week 4        Python function creation, return values and calls
        Week 5        Function arbitrary arguments, passing lists to a function, and recursive functions
        Week 6        Python module: os
        Week 7        Python module: pandas
        Week 8        Python module: selenium
        Week 9        Python module: BeautifulSoup
       Week 10        Python module: JSON
       Week 11        Python module: Matplotlib
       Week 12        Applications of Python Modules: Excel manipulation
       Week 13        Applications of Python Modules: using API’s
       Week 14        Applications of Python Modules: web scraping
          | Page4
  Week 15       Python classes and OOP: classes, objects, attributes, and methods.
  Week 16       Final Exam
                                 Learning and Teaching Resources
                                         مصادر التعلم والتدريس
                                                                                               Available in the
                                                        Text
                                                                                                  Library?
     Required Texts
                            • Brian Heinold, A Practical Introduction to Python
                              Programming, 2012
     Recommended
            Texts           • Ben Stephenson, The Python Workbook: A Brief                            No
                              Introduction with Exercises and Solutions, 2014
                            https://www.w3schools.com/python/
             Websites
    APPENDIX:
                                             GRADING SCHEME
                                                  مخطط الدرجات
          Group                Grade       التقدير      Marks (%)                       Definition
                    A – Excellent              امتياز    90 - 100      Outstanding Performance
                    B - Very Good            جيد جدا      80 - 89      Above average with some errors
Success Group
                    C – Good                     جيد      70 - 79      Sound work with notable errors
(50 - 100)
                    D – Satisfactory          متوسط       60 - 69      Fair but with major shortcomings
                    E – Sufficient             مقبول      50 - 59      Work meets minimum criteria
Fail Group          FX – Fail            مقبول بقرار     (45-49)       More work required but credit awarded
(0 – 49)            F – Fail                   راسب       (0-44)       Considerable amount of work required
                                Note:
NB Decimal places above or below 0.5 will be rounded to the higher or lower full mark (for example a mark of 54.5
  will be rounded to 55, whereas a mark of 54.4 will be rounded to 54. The University has a policy NOT to condone
 "near-pass fails" so the only adjustment to marks awarded by the original marker(s) will be the automatic rounding
                                                                                                     outlined above.
     | Page5