[go: up one dir, main page]

0% found this document useful (0 votes)
12 views8 pages

ProgrammingCourseOutline-2024

The document outlines the course details for CE-107L, a Computer Programming lab for Civil Engineers, taught by Engr. Faisal Rehman. It covers course aims, learning objectives, assessment activities, a weekly schedule, grading criteria, and recommended resources for learning programming in Python and Matlab/Octave. The course aims to develop students' programming skills and their application in civil engineering problems, with various teaching and assessment methods employed throughout the semester.

Uploaded by

Ilyas Bacha
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views8 pages

ProgrammingCourseOutline-2024

The document outlines the course details for CE-107L, a Computer Programming lab for Civil Engineers, taught by Engr. Faisal Rehman. It covers course aims, learning objectives, assessment activities, a weekly schedule, grading criteria, and recommended resources for learning programming in Python and Matlab/Octave. The course aims to develop students' programming skills and their application in civil engineering problems, with various teaching and assessment methods employed throughout the semester.

Uploaded by

Ilyas Bacha
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

CE - 107L Computer Programming for Civil Engineering Lab

Part I: Course Information


Course Title: Computer Programming for Civil Engineers Lab
Course Code: CE-107L
Instructor: Engr. Faisal Rehman
Email: faisal@uetpeshawar.edu.pk
Contact (WhatsApp): 0314-519-3495. But you are encouraged to use Google Classroom
Counselling Hours: 10:00 to 12:00 every Wednesday in Material Testing Lab
(appointment first)
Course Duration: One Semester
Credit Units: 01 Credit Hr. (Contact Hrs. 03)
Level: 2nd Semester (1st Year)
Medium of Instruction: English
Prerequisites: None
Equivalent Courses: Not Applicable

Part II: Course Aims, CLOs, TLAs, Grading

Course Aims
• To enable students to learn Computer Language and Office Software (MS/LibreOffice/GoogleDocs).
• To develop skills of Computer Programming and its applications in elementary Civil Engineering
Problems using Python/GNU Octave/Matlab.

Class Learning Objectives (CLOs) , Mapping with Program Learning Objectives (PLOs)
Upon successful completion of the course, the student will be able to:
CLO Taxonomy
No.
Description PLO
Domain
1 Explain the fundamentals of Programming and Office C2 1
2 Practice programming tools to solve different engineering problems. P3 5
C2 = Comprehension: Comprehension involves demonstrating an understanding of facts and ideas by
organizing, summarizing, translating, generalizing, giving descriptions, and stating the main ideas.
Comprehending the meaning, translation, interpolation, and interpretation of instructions and problems.
State a problem in one's own words.
Action verb: Describe, explain, paraphrase, restate, give original examples of, summarize, contrast,
interpret, and discuss.
Example: Translating an algorithm from one form of representation to another form, explaining a
concept or an algorithm or design pattern, presenting an example of concept or an algorithm or design
pattern. Translates an equation into a computer programs and spreadsheet.
Look at this section of code and explain in plain English what it does:
def mystery(x, a, b):
z=0
for i in range(a,b+1):
z += x[i]
return z/(b - a + 1)

Page 1 of 8
or matlab/octave code sample

Figure 1: Cognitive Domain of Bloom's Taxonomy

P3 = Guided Response: The early stages in learning a complex skill that includes imitation and trial and
error. Adequacy of performance is achieved by practicing.
Action Verb: Copies, traces, follows, react, reproduce, responds.
Example: Performs a mathematical equation as demonstrated. Follows instructions to build a model.
Responds hand-signals of instructor while learning to operate a forklift.

PLO1 = Engineering Knowledge: An ability to apply knowledge of mathematics, science, engineering


fundamentals and an engineering specialization to the solution of complex engineering problems.

PLO5 = Modern Tool Usage: An ability to create, select and apply appropriate techniques, resources,
and modern engineering and IT tools, including prediction and modeling, to complex engineering
activities, with an understanding of the limitations.

Page 2 of 8
Figure 2: Psychomotor Domain of Bloom's Taxonomy

Figure 3: Learning Domains

Teaching and Learning Activities (TLAs)


Course learning outcomes will be achieved through all or a suitable combination of the following teaching
strategies.
• Quizzes
• Classroom discussions
• In-class activities
• Group assignments/projects
• Reports
• Self-study
• Final Viva examination

Page 3 of 8
Assessment Activities
Note: Below are the minimum required assessment activities for lab courses. However, the teacher can add
further assessment activities if needed along with rubrics.
• In-lab Assessment
• Term Project
• Final Lab Viva
Note: Class attendance is compulsory for both regular and repeat students.
Note: Rubrics for concerned assessment activities as mentioned above are given below

In-Lab Assessment Rubrics

Levels of Achievement
CLOs Criteria Poor Fair Good Excellent
0-3 4-6 7-8 9-10

Proficiency Defined
Defined
in explaining Partially correctly but
CLO1* correctly but Fully Explained.
the relevant defined only not well
not explained.
task explained.

Proficient in
Proficiency Complete Complete Task conducting the
In complete
in conducting Task with with minor entire task with a
CLO2* Task with
the relevant many (one or two) fair or without out
mistakes
task mistakes mistakes. guidance from the
lab instructor.
* Weight of each CLO of specific criteria for result compilation is attached in semester course folder.

Page 4 of 8
Term project Assessment Rubrics

Levels of Achievement

CLOs Criteria Poor Fair Good Excellent

0-3 4-6 7-8 9-10

Proficiency in Defined Defined


Partially defined
CLO1* explaining the correctly but correctly but not Fully Explained.
only
relevant task not explained. well explained.

Proficient in
Complete Task conducting the entire
Proficiency in In complete Complete Task
with minor (one task with a fair or
CLO2* conducting the Task with with many
or two) without out guidance
relevant task mistakes mistakes
mistakes. from the lab
instructor.
* Weight of each CLO of specific criteria for result compilation is attached in semester course folder.

Viva Assessment Rubrics

Levels of Achievement

CLOs Criteria Poor Fair Good Excellent

0-3 4-6 7-8 9-10

Proficiency in Defined Defined


Partially defined
CLO1* explaining the correctly but correctly but not Fully Explained.
only
relevant task not explained. well explained.

Proficient in
Complete Task conducting the entire
Proficiency in In complete Complete Task
with minor (one task with a fair or
CLO2* conducting the Task with with many
or two) without out guidance
relevant task mistakes mistakes
mistakes. from the lab
instructor.
* Weight of each CLO of specific criteria for result compilation is attached in semester course folder.

Page 5 of 8
Tentative Weekly Schedule

Week Weekly Lectures


1 Definitions, Computational Thinking, Python/Matlab/Octave Installation. Hello World!
2 Working with Variables, Types, and Expression
3 Data Structures: Range, List, Tuple, Set, Dictionary
4 Modules: Scipy, Numpy, Sympy and Pandas. Reading and Writing Files or Matlab/Octave toolbox
5 Functions: Built-in, Fruitful, Unfruitful, Anonymous, Recursive
6 Branching using: if, elif, else, Dictionary, and Pattern Matching. Visualize using pyflowchart
7 Iteration: while, for, comprehension, iterable, iterator, generators
8 Debugging: assert. Error Catching: try, except, raise, else and finally. Unit Testing and Profiling
9 OOP, Classes: Abstraction, Encapsulation, Inheritance, Polymorphism.
10 Advance Plotting using Matplotlib
11 GUI Programming.
12 Introduction to AI.
13 Running Python Faster, Copilot and ChatGPT
14 Installation of LibreOffice/MS Office. Introduction to Calc/Excel.
15 Introduction to Write/Word and Impress/PowerPoint. Write and Present a Report/Journal Paper
Final-Term Viva Exam

Grading of Students Achievements


The grading for this course is based on the Academic Regulations criterion of the University.
Grade Grade
Grade Definitions
Letter Points
Strong evidence of original thinking; good organization, capacity to analyze
A 4.0
Excellent & synthesize; superior grasp of subject matter; evidence of extensive
A- 3.67
knowledge base.
B+ 3.33 Evidence of grasp of subject, some evidence of critical capacity and
B 3.00 Good analytical ability; reasonable understanding of issues; evidence of
B- 2.67 familiarity with literature.
C+ 2.33
Student who is profiting from the university experience; understanding of
C 2.00 Adequate
the subject; ability to develop solutions to simple problems in the material.
C- 1.67
D+ 1.33 Sufficient familiarity with the subject matters to enable the student to
Marginal
D 1.00 progress without repeating the course.
Little evidence of familiarity with the subject matter; weakness in critical
F 0.00 Failure
and analytical skills; limited, or irrelevant use of literature.

Grade Marks Distribution:


1. 50% of marks will be earned during class session by in class activities and task
2. Rest of marks will come from term project and viva.

Page 6 of 8
Part III: Syllabus, Recommended Books
Syllabus
The following topics will be covered in the course through lecturing and home assignments.
• Computational Thinking
• Introduction to programming & PYTHON/Matlab/Octave
• Numeric, String and List
• PYTHON/Matlab/Octave variables
• Scripts files
• Functions and Files
• Opening Excel/MAT/text files
• Programming with PYTHON/Matlab/Octave
• Syntax
• algorithms
• Flow charts
• Conditional operations
• Loops structures
• Advance Plotting and Model Building
• 2D plotting, 3D plotting and Advance 3D plotting
• Symbolic Processing
• Numerical Methods for Calculus and Differential Equations in PYTHON/Matlab/Octave
• Engineering Problems
• Introduction to MS/Libre Office with advanced applications of MS Excel/Libre Calc

Recommended Books
URLS for book and quick guide:
1. Recommended Book:
https://lectures.scientific-python.org/_downloads/ScientificPythonLectures-simple.pdf
This book is enough for guidance.

2. Recommended Book (online interactive book + downloadable notebook + downloadable


pdf book + slides):
https://fangohr.github.io/teaching/python/book.html
This book is also a good book for practicing.

3. https://www.python.org/ --> official reference, tutorial, setup, and jobs for python

Or
Matlab/Octave books

Reference Books
Note: These links are worth knowing.
1. https://runestone.academy/runestone/books/published/thinkcspy/index.html -->Reference
Book and for quizzes (interactive version)

Page 7 of 8
2. https://www.ict.ru.ac.za/Resources/cspw/thinkcspy3/thinkcspy3.pdf -->PDF Book
3. https://docs.python.org/3/tutorial/index.html --> Official Python Tutorial
4. https://diveintopython3.net/ --> pdf book for download with its example code
5. https://automatetheboringstuff.com/ --> online book
6. https://developers.google.com/edu/python --> google course and video
7. https://archive.org/details/comp3321/mode/2up --> NSA tutorial on Python.
8. https://programmingwithmosh.com/python/python-3-cheat-sheet/ --> cheatsheet
9. https://perso.limsi.fr/pointal/_media/python:cours:mementopython3-english.pdf-->
Cheatsheet

Or
Matlab/Octave books
Useful Links:
10. http://rosettacode.org/wiki/Numerical_integration -->numerical integration in various
languages
11. pythontutor.com
12. geeksforgeeks.org

Or
Matlab/Octave links

Video Playlist:
• https://www.youtube.com/watch?v=OvKCESUCWII&list=PLhQjrBD2T3817j24-
GogXmWqO5Q5vYy0V --> CS50's Introduction to Programming with Python (CS50P) 2022,
CS50P, Prof. David J. Milan, Harvard University. You can earn its certificate from:
https://www.edx.org/learn/python/harvard-university-cs50-s-introduction-to-programming-with-
python

• https://www.youtube.com/@Civil.Builders My Official YouTube Channel

• https://www.youtube.com/watch?v=b093aqAZiPU&list=PLlKpQrBME6xKNfcbz2nHyY_anC8BpX
Rnp ---> python for beginners by Kevin Stratvert (Ex MS Developer)

Page 8 of 8

You might also like