Computational methods and tools
ENG-270
Media
Media
This file is part of the content downloaded from Computational methods and tools.
Links
- Course book: https://edu.epfl.ch/coursebook/en/computational-methods-and-tools-ENG-270
- Rooms for lectures: GC C3 30 (Wednesdays) GC A3 31 (Fridays)
- Rooms for exercises: GR B0 01 (42 places), GR C0 02 (27 places)
Assessment:
- 50% midterm. based on exercises and lectures. Exercises will not be submitted or graded, but solutions/corrections will be provided for them. You may bring two A4 sheets filled front and back with hand-written or printed content to the exam. No electronic devices.
- 50% project (10% proposal, 55% code, 35% report). Individual or with one additional partner.
Proposed schedule:
Course language: English, except many course materials will be in French.
- Past material (before 2020) from head of IT Jean-Daniel Bonjour (URL)
- Project (File)
- Example project repository (URL)
Lecture
- Wednesday 13h-14h: GCC330 - introduction, installation, tooling, REPL
- Friday 10h-11h: GCA331 - using the REPL, terminal, working directory, file I/O
Exercise
- GRB001 and GRC002. (Wednesday 14h-15h is independent study period with no assistants.)
Topic
- Python review - complete three exercises in lower left quadrant of island (https://sieprog.ch): "éolienne," "oiseaux," "suisse" (to be finished next week).
- Course notes - Installation of Python and VSCode if you do not have them from your previous course.
- Course notes - Using Python in VSCode. Use the REPL!
- Course notes - Input/Output (I/O) in Python.
- Course notes - hint for éolienne exercise.
- Course notes - hint for oiseaux exercise
Lecture
- Wednesday 13h-14h: GCC330 - introduction to NumPy arrays; projects
- Friday 10h-11h: GCA331 - data models and programming paradigms
Exercise
- GRB001 and GRC002. (Wednesday 14h-15h is independent study period with no assistants.)
Topic
- Python review - complete three exercises in lower left quadrant of island (https://sieprog.ch): "éolienne," "oiseaux," "suisse" (to be finished next week).
- Course notes - hint for éolienne exercise. alternative solutions
- Course notes - hint for oiseaux exercise. alternative solutions
- Course notes - hint for suisse exercise. partial alternative solutions
- Course notes - introduction to data models
- Course notes - introduction to programming paradigms
- Introduction to projects
- More on the REPL
Lecture
- Wednesday 13h-14h: GCC330 - introduction to MATLAB
- Friday 10h-11h: GCA331 - introduction to MATLAB and vectorization (continued)
Exercise
- GRB001 and GRC002. (Wednesday 14h-15h is independent study period with no assistants.)
Topic
- MATLAB introduction - complete three exercises in lower left quadrant of island (https://sieprog.ch): "éolienne," "oiseaux," "suisse" in MATLAB using extensive vectorization.
- MathWorks - install MATLAB using your @epfl address and Switch-ID
- MathWorks - getting started with MATLAB video
- MathWorks - MATLAB for Python Users
- MathWorks - MATLAB Basic Functions Reference
- MathWorks - vectorization
- MathWorks - Onramp (set of self-paced tutorials)
- Jean-Daniel Bonjour - tutorial from past courses (focus on MATLAB portion)
- Course notes - crash course on MATLAB
- Exercise éolienne - hint, partial solution
- Exercise oiseaux - hint, solution, solution (2)
- Exercise Suisse - partial solution
Lecture
- Wednesday 13h-14h: GCC330. Review of vectorized solutions to exercises.
- Friday 10h-11h: GCA331
Exercise
- GRB001 and GRC002. (Wednesday 14h-15h is independent study period with no assistants.)
Topic
- Continuation from last week - complete three exercises in lower left quadrant of island (https://sieprog.ch): "éolienne," "oiseaux," "suisse" in MATLAB using extensive vectorization.
Lecture
- Wednesday 13h-14h: GCC330. Review of vectorized solutions to exercises.
- Friday 10h-11h: GCA331
Exercise
- GRB001 and GRC002. (Wednesday 14h-15h is independent study period with no assistants.)
Complete exercises in lower right quadrant of island: "dés", "parité", "étoiles", "lac".
Those of you working on Windows:
- srand works but apparently the first dice roll is always the same. rand_s is not a drop-in replacement for srandom or srand and requires more work to integrate into code. Recommendation is to use srand but discard first roll and use the next two.
Additional sieprog.ch:
- For compiler options, see compiler lesson.
- For those unfamiliar with the terminal, see also terminal lesson.
- For print statement debugging, see débogage.
- For command line debugging, see gdb.
- Course notes - C introduction
- Effectiveness of AI for coding (26% increase in "productivity", larger benefits seen for junior developers) - manuscript
- Correctness of AI generated code (35-70% of AI generated code contains bugs) - manuscript
Lecture
- Wednesday 13h-14h: GCC330. Review of vectorized solutions to exercises.
- Friday 10h-11h: GCA331
Exercise
- GRB001 and GRC002. (Wednesday 14h-15h is independent study period with no assistants.)
Topics
Complete exercises on island: "cryptographie", "seismes", "GPS".
- Course notes - C introduction
- Openclassrooms - pointers
- Exercise cryptogramme - alternate solution
- Exercise séismes - alternate solution
- Exercise GPS - hint
Fall break
Lecture Exercise
- Wednesday 13h-14h: GRB001 (independent study period with no assistants)
- Friday 10h-11h: GRC002 (independent study period with no assistants)
Exercise
- GRB001 and GRC002. (Wednesday 14h-15h is independent study period with no assistants.)
Topics
Complete exercises on island: "terrain", "pollution".
Lecture
- Wednesday 13h-14h: GCC330. Midterm review
Exercise
- GRB001 and GRC002. (Wednesday 14h-15h is independent study period with no assistants.)
Topics
Complete exercises on island: "terrain", "pollution".Midterm exam
Wednesday 13.11.2024 13h15-16h00 in GRB001 and GRC002. Room assignments for each student will be posted on Moodle at 12h00 (once you enter the room, have a seat anywhere there is an exam placed on the desk).
Lecture
Friday 10h-12h: GCA331 - Go over midterm solutions and begin projects.
Projects
GRB001 and GRC002.
Lecture
Wednesday 13h-14h: GCA330 - Automation
Friday 10h-11h: GCA331 - Numerical methods
Projects
GRB001 and GRC002.
https://epfl.zoom.us/j/62621787077?pwd=mTVYlGp6XoFlVo5MvTkCjM28WzpYzx.1
- Automation part 1 (File)
- Automation part 2 (File)
- Numerical methods (File)
- Numerical methods - Ramaswami Integrated Environmental Modeling Ch 6 2005 (File)
Lecture
Wednesday 13h-14h: GCA330 - Version control
Friday 10h-11h: GCA331 - Citation, documentation, and readable code
Projects
GRB001 and GRC002.
https://epfl.zoom.us/j/62621787077?pwd=mTVYlGp6XoFlVo5MvTkCjM28WzpYzx.1
Lecture
Wednesday 13h-14h: GCA330 - Citation, Visualization (last lecture)
Projects
GRB001 and GRC002
Projects
GRB001 and GRC002.
Projects
GRB001 and GRC002.
Send instructor (satoshi.takahama@epfl.ch or stakahama) invitation to code repository (e.g., GitHub or GitLab) by 17h Fri 20.12.2024.