Spring 2025
- Office: ECJ 1.230
- Email: [email protected]
- Office Hours
- Mon 9:00 am - 10:30 am
- Wed 8:30 am - 10:00 am
- Fri 8:00 - 10:30 by appointment only
- Office: ECJ 6.406
- Email: [email protected]
- Office Hours:
- Tue 6:00 pm - 7:00 pm
- Thu 8:00 am - 9:00 am
- Leading the Monday Lab Sections
- Office: ECJ 6.406
- Email: [email protected]
- Office Hours:
- Thu 9:30 am - 10:30 am
- Leading the Wednesday Lab Section
- Zoom Link: https://utexas.zoom.us/j/96112472943
- Office Hours:
- Tue 4:00 pm - 5:00 pm
- Location: UTC 3.122
- Time: MWF 11:00 am – 12:00 pm
- Location: ECJ 2.210
- 16570: M 2:00 pm – 4:00 pm
- 16575: M 4:00 pm – 6:00 pm
- 16580: W 4:00 pm – 6:00 pm
Welcome! CE 311K introduces Python programming and computational methods for solving problems in civil, architectural, and environmental engineering. Students will develop problem-solving skills through structured programming, data manipulation, and basic numerical methods applied to a wide range of engineering problems.
Upon successful completion of this course, students will:
- Develop Python programs to solve engineering problems across civil, architectural, and environmental disciplines.
- Analyze and manipulate data using Python for engineering applications.
- Understand basic computational algorithms and their efficiency in solving real-world problems.
- Apply numerical methods for solving problems in various engineering contexts.
This course is designed to achieve the ABET Student Outcomes marked with a ✔️ in the first column.
Student Outcomes | |
---|---|
✔️ | An ability to identify, formulate, and solve complex engineering problems by applying principles of engineering, science, and mathematics |
An ability to apply engineering design to produce solutions that meet specified needs with consideration of public health, safety, and welfare, as well as global, cultural, social, environmental, and economic factors | |
✔️ | An ability to communicate effectively with a range of audiences |
An ability to recognize ethical and professional responsibilities in engineering situations and make informed judgments, which must consider the impact of engineering solutions in global, economic, environmental, and societal contexts | |
An ability to function effectively on a team whose members together provide leadership, create a collaborative and inclusive environment, establish goals, plan tasks, and meet objectives | |
✔️ | An ability to develop and conduct appropriate experimentation, analyze and interpret data, and use engineering judgment to draw conclusions |
✔️ | An ability to acquire and apply new knowledge as needed, using appropriate learning strategies |
- Prerequisite: Credit or registration for Mathematics 408D or M 308L; additional prerequisite for civil engineering majors, Civil Engineering 301.
- Recommended Background: Basic knowledge of mathematical functions, algebra, and familiarity with engineering concepts. No prior programming experience is required.
- Textbook: No formal textbook is required for this course.
- Online Resources: Python is widely popular and there are many resources out there.
- Google Colab: We will be using Colab for all assignments this semester. You are not expected to have prior knowledge of this programming environment and we will help set you all up at the beginning of the semester.
Your final grade will be accessed from 0 to 100 using the +/- system of grading. Your total grade will determined based on the course assignments with the following weights:
- Homework (20%): Broader concepts and smaller-scale coding problems to reinforce programming fundamentals and provide additional practice. Your top n-1 homeworks will be counted toward your final grade.
- Lab Assignments (40%): Weekly lab exercises that directly apply programming to solve engineering problems, reinforcing lecture topics. Your top n-1 lab assignments will be counted toward your final grade.
- Exams (25%): Two exams focused on assessing students’ understanding of core programming concepts and their ability to apply them.
- Final Project (15%): Students will demonstrate their programming skills by solving either (1) a predefined, multipart engineering problem or (2) a project of their choosing (subject to instructor approval).
Week | Dates | Topic (Lecture) | Lab Focus | Homework |
---|---|---|---|---|
1 | Jan 13–17 | Course Introduction and Data Types | No Lab | No HW |
2 | Jan 20–24 | Conditionals and Lists | No Lab | HW #1 |
3 | Jan 27–31 | Collections and Loops | Expressions and Conditionals | HW #2 |
4 | Feb 3–7 | Functions, Objects, and Methods | Collections and Loops | HW #3 |
5 | Feb 10–14 | Classes and Libraries | Functions | HW #4 |
6 | Feb 17–21 | Review and Exam 1 | No Lab | No HW |
7 | Feb 24–28 | NM I: Sorting, and Integration | Sorting | HW #5 |
8 | Mar 3–7 | Object-Oriented Programming | Integration | HW #6 |
9 | Mar 10–14 | NM II: Roots and Gradients | Root Finding | HW #7 |
- | Mar 17–21 | Spring Break | No Lab | No HW |
10 | Mar 24–28 | File I/O and Data Visualization | Gradients | HW #8 |
11 | Mar 31–Apr 4 | NM III: Systems of Equations | Data Visualization | HW #9 |
12 | Apr 7–11 | Review and Exam 2 | No Lab | No HW |
13 | Apr 14–18 | APIs and Data Integration | Systems of Equations | HW #10 |
14 | Apr 21–25 | Miscellaneous Topics | APIs | No HW |
15 | Apr 28 (last day) | Project Q&A Day | No Lab | No HW |
Regular in-person attendance in both lectures and labs is expected, but is not required and will no be counted toward your final grade. No virtual option will be provided. Students are expected to attend all class and laboratory periods. Those who fail to attend class and laboratory regularly are inviting scholastic difficulty. If you plan to miss an an assignment or need an extension due to the observance of a religious holiday or a similar extenuating circumstance, please let us know at least two weeks in advance. You will still be responsible for any work you will miss on that day if applicable. For further information check here: http://catalog.utexas.edu/general-information/academic-policies-and-procedures/attendance/.
Homework and laboratory assignments will generally be assigned each week. Homework assignments will be assigned on Mondays at 12:00 pm immediately following lecture and will be due the following Monday at 11:00 am. Laboratory assignments will be provided an hour before your schedule section and be due by 11:59 pm the night before your section. A digital copy must be submitted via Canvas to facilitate grading. Late assignments will receive a 10% penalty per day, up to 10 days late.
There will be two exams given during the regularly scheduled lecture period. In addition to the material covered in the class lectures, the exams may include questions from your work in the laboratory portion of the class. Exams for this course will be conducted online and will focus on evaluating your understanding of core programming concepts and problem-solving skills. The exams will not test perfect syntax or require you to write code by hand. Instead, you will be asked to:
- Explain concepts and demonstrate your understanding of how various programming techniques apply to engineering problems.
- Analyze and debug code: You will be given pre-written Python code to identify bugs or inefficiencies and suggest improvements.
- Solve real-world problems: You will outline logical approaches to solve engineering-related problems, focusing on problem-solving rather than specific syntax.
You are allowed to use programming resources, including AI tools, textbooks, and online references. However, the questions are designed to assess your deeper understanding, so simply copying code will not suffice.
No final exam will be scheduled for this course. Instead, you will complete an indvidual final project. The final project is an opportunity for you to apply the programming skills and problem-solving techniques learned throughout the course to real problems. You will have two options for completing the project:
- Predefined Problem: You will be provided with a multi-part engineering problem that requires you to develop a Python program to solve it.
- Custom Project: You may propose a project of your own design, which must be approved by the instructor. This project must demonstrate the application of Python programming to solve a practical problem.
The project will be completed individually, and you will submit both your code and brief documentation explaining your approach and the results. Your project should include well-structured, readable code that solves the problem effectively. It should demonstrate your ability to implement the programming and problem-solving techniques discussed in class.
Projects are due at midnight on the date of our course's final exam date. You can find the final exam schedule here: https://registrar.utexas.edu/schedules/242/finals.
Sharing of course materials is prohibited. No materials used in this class, including but not limited to lecture handouts, videos, assessments (quizzes, exams, papers, projects, homework assignments), in-class materials, review sheets, and additional problem sets, may be shared online or with anyone outside of the class unless you have my explicit written permission. Unauthorized sharing of materials promotes cheating, violates the University’s Student Honor Code, and constitutes academic dishonesty. Any materials found online that are associated with you, or any suspected unauthorized sharing of materials, will be reported to Student Conduct and Academic Integrity in the Office of the Dean of Students. These reports can result in sanctions, including failure in the course.You are responsible for understanding UT’s Academic Honesty and the University Honor Code.
Students are strongly encouraged to discuss course topics among themselves, but all work submitted for this class must be entirely your own. This requirement will be strictly enforced for all assignments. In doing class assignments, you may consult with your fellow classmates regarding the most appropriate solution to a given problem. However, each student must prepare his or her own, individual submission for each assignment. Identical copies of scripts or data plots are not acceptable.
Class recordings are reserved for students in this class for educational purposes and are protected under FERPA. The recordings should not be shared outside the class in any form. Violation of this restriction by a student could lead to Student Misconduct proceedings.
Formal evaluations of the course and instructor will be conducted at the end of the semester using UT’s official evaluation forms. However, I encourage you to share feedback and suggestions for improving the course content or instruction at any time. If something isn’t working for you, please feel free to reach out - I’m committed to fostering an open dialogue and helping everyone succeed.
The university is committed to creating an accessible and inclusive learning environment consistent with university policy and federal and state law. The University of Texas at Austin provides, upon request, appropriate academic accommodations for qualified students with disabilities. For more information, contact the Division of Student Affairs, Disability & Access at 512-471-6259 (email: [email protected]) or visit https://disability.utexas.edu/. If you are already registered with D&A , please deliver your Accommodation Letter to me as early as possible in the semester so we can discuss your approved accommodations and needs in this course.
From the 1st through the 12th class day (4th class day in the summer sessions), an undergraduate student can drop a course via the web and receive a refund if eligible. From the 13th (5th class day in the summer sessions) through the university’s academic drop deadline, a student may Q drop a course with approval from the Dean and departmental advisor.
Emergency Preparedness means being ready. It takes an effort by all of us to create and sustain an effective emergency preparedness system. You are your own best first responder. Please use https://preparedness.utexas.edu/welcome-emergency-preparedness as a resource to better understand emergency preparedness at the university and how you can become part of and contribute to the preparedness community. To monitor emergency communications for specific instructions, go to https://utexas.edu/emergency. To report an issue (non-emergency), call 512-471-4441. In case of emergency, call 911.
Portions of this syllabus, including some of the course descriptions and learning outcomes, were adapted from materials provided by professors in the Civil, Architectural, and Environmental Engineering Department. Specific references include:
- Syllabi and course materials provided by Professors Kumar, Liljestrand, Berkin, and Claudel from past iterations of CE 311K.
- Official course outlines and objectives from the University of Texas at Austin.
- General Information Catalog: http://catalog.utexas.edu/general-information/
- Restricting information: https://registrar.utexas.edu/students/records/restrictmyinfo
Some text in this syllabus has been revised and enhanced with the assistance of AI-based tools for clarity and readability