ProgrammingCourseOutline-2024
ProgrammingCourseOutline-2024
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
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.
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
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
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
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.
Levels of Achievement
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
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.
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/watch?v=b093aqAZiPU&list=PLlKpQrBME6xKNfcbz2nHyY_anC8BpX
Rnp ---> python for beginners by Kevin Stratvert (Ex MS Developer)
Page 8 of 8