Skip to content

Commit

Permalink
jose2024 typos
Browse files Browse the repository at this point in the history
  • Loading branch information
bettachini committed Sep 24, 2024
1 parent d81008a commit 8a77557
Show file tree
Hide file tree
Showing 2 changed files with 283 additions and 16 deletions.
42 changes: 26 additions & 16 deletions 88presentación/jose_2024/paper.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,10 +40,12 @@ lang: "en-GB"
2. "constraint forces", en Fasano, et al aparece como "constraint reaction" y luego lo llaman fuerza (p. 77)
-->



# Summary

We present a code-based undergraduate course on analytical mechanics for engineering students with little to no prior programming knowledge.
This 16-week flipped classroom [@bishop2013flipped:2013] course provides skills to calculate dynamics and strains of simple mechanical devices, modelled as rigid bodies by solving Euler-Lagrange equations.
This 16-week flipped classroom [@bishop2013_flipped_2013:2013] course provides skills to calculate dynamics and strains of simple mechanical devices, modelled as rigid bodies by solving Euler-Lagrange equations.
<!-- Modificado MAR_20240830
Each example and practice exercise are solved using computer-based analytical and numerical calculations with the aim to deflect students' focus of attention away from repetitive mathematical tasks towards the physics modelling.
-->
Expand All @@ -58,19 +60,20 @@ Para mejorar el rendimiento académico se necesita aplicar estrategias de enseñ
De esta manera, el aprendizaje Profundo se encuentra estrechamente relacionado con un tipo de enseñanza basada en su conocimiento previo, la puesta en práctica a través de pruebas de ensayo y error, y la evaluación holística de los contenidos, entre otras cosas (Biggs & Tang, 2011).
-->

The course addresses specific regional issues faced by third-year Latin American students (mid-career), that by then have learned how to solve ordinary differential equations.
The course addresses specific regional issues faced by third-year Latin American students (mid-career), who by then have learned how to solve ordinary differential equations.
Theory and examples exercises, along with the _Python_ code that solves them are presented in _Jupyter notebooks_ run online to avoid installation and hardware requirement issues.
Currently, the material is available in a GitHub repository in Spanish and has only been partially translated into English.
<!--
It is free to use and modify under a Creative Commons licence (CC BY-NC-SA 4.0) for the community is encouraged to contribute to its translation and improvement.
-->



## Statement of need
Latin American public universities face two simultaneous constrains: tight budgets and the need to accommodate their classes' schedules to day-working students [@vallejo_google_2022:2022].
Latin American public universities face two simultaneous constraints: tight budgets and the need to accommodate their classes' schedules to day-working students [@vallejo_google_2022:2022].
These cash-stripped universities seldom avail computing resources for courses that are not directly related to computer science or programming.
Also, as undergraduate programs on engineering at Latin American universities are usually longer than the three-year bachelor's degrees at their Anglo-Saxon counterparts, it is quite common for students to already be part of the labour market while studying.
As a result, they have tight schedules and are often unable to attend to university during daytime hours.
As a result, they have tight schedules and are often unable to attend university during daytime hours.
<!--
Ojalá fuera cierto. Sinceramiento: ni saben que existen las alternativas de software libre.
Authorities of these cash-stripped universities often ask that any solution to introduce students to coding skills should be based upon open-source fee-free resources.
Expand All @@ -92,11 +95,12 @@ Unicamp, Brasil, 10 semestres
https://www.dac.unicamp.br/sistemas/catalogos/grad/catalogo2023/cursos/10g/sugestao.html
-->

The course presented addresses those issues by providing a free, online, and asynchronous learning environment allowing students to study at their own pace through the flipped classroom approach [@moraros_flipping_2015:2015].
The course addresses those issues by providing a free, online, and asynchronous learning environment allowing students to study at their own pace through the flipped classroom approach [@moraros_flipping_2015:2015].
In advance to weekly meetings, students are required to study the theory and examples provided in the notebooks, as well as to initiate solving the accompanying exercises.
During those evening meetings, whether online or in person, students are encouraged to ask questions and discuss the problems they could not solve with the teaching staff.



## Basis for the syllabus
Traditionally, systems addressed in analytical mechanics courses are kept as simple as possible, to limit the extent of the mathematical work required.
So, modelling of multiple machine parts is seldom undertaken, as that would lead to a level of complexity sometimes untenable for students and teaching staff working on the blackboard or paper.
Expand All @@ -107,7 +111,7 @@ Yet knowledge and practice not only on numerical analysis, but also on programmi
-->

The required modelling as well as algebraic and calculus operations to generate the Euler-Lagrange differential equations are performed using [_physics.mechanics_](https://docs.sympy.org/latest/modules/physics/mechanics/), the symbolic dynamics sub-package of the _SymPy_ library [@10.7717/peerj-cs.103:2017].
Its code was ported from the [_PyDy_ library](https://www.pydy.org/history.html), a replacement of _Autolev_ [@levinson_autolev_1990:1990],a commercial software that instrumentalised the Kane's method [@kane_dynamics_1985:1985].
Its code was ported from the [_PyDy_ library](https://www.pydy.org/history.html), a replacement of _Autolev_ [@levinson_autolev_1990:1990], a commercial software that instrumentalised the Kane's method [@kane_dynamics_1985:1985].
As stated in the online textbook for the [Multibody Dynamics course at TU Delft](https://moorepants.github.io/me41055), a successor to the one _PyDy_ was developed for, this method avoids accounting for non-conservative forces with Lagrange's multipliers, but it requires modelling forces in the system [@jason_k_moore_learn_2024:2024].
Our choice was instead to make students model systems solely by their energy, a more traditional approach, in order to immerse them into a radically different way of solving mechanical problems in their first contact with analytical mechanics.
We think that when facing problems requiring a more efficient method, they will be able to apply such other less abstract methods.
Expand All @@ -116,7 +120,7 @@ As stated in the online textbook for the [Multibody Dynamics course at TU Delft]
<!--
A successor to the course for which _PyDy_ was developed, [TU Delft's Multibody Dynamics](https://moorepants.github.io/me41055/), has an [online textbook that states the choice of this method](https://moorepants.github.io/learn-multibody-dynamics/introduction.html#choice-of-dynamics-formalism) to avoid introducing virtual motion concepts and the need of Lagrange multipliers to handle constrains while deriving equations of motion.
[Kane's book](https://ecommons.cornell.edu/items/1f0e5629-0caa-4be2-8384-8869eb9e4fac) preface states that by focusing on motions instead of the physical configuration of the system, his method maximises physical insight.
>
-->
<!--, previously used at the [UC ' Multibody Dynamics course](https://moorepants.github.io/mae223/).
-->

Expand All @@ -125,8 +129,8 @@ The idea is to ensure that students can verify each step of the process and only

We would like to emphasise that the course is not about teaching programming, nor about high-performance modelling of mechanical systems.
The aim of employing the computer is to free-up students from the repetitive nature of the calculations, so they can focus on the physical aspects of the problems.
The deliberate decision that everything get solved by code, even the earliest examples, aims to reinforce the advice given to students to avoid solving the initial problem sets on paper.
Some students did so at earlier editions of the course, only to got stuck later while solving more complex problems without the computer help.
The deliberate decision that everything gets solved by code, even the earliest examples, aims to reinforce the advice given to students to avoid solving the initial problem sets on paper.
Some students did so at earlier editions of the course, only to get stuck later while solving more complex problems without the computer's help.
By slight modifications over the Python code presented by the teaching staff, students build their own library of solutions to address mechanical modelling challenges.
Once the students generate the Euler-Lagrange equations, their numerical solutions are obtained using the _Scipy_ library [@sciPyNMeth:2020], and plotted using _Matplotlib_ [@HunterMatplotlib:2007] to better understand the physical implications of the solutions.
<!--
Expand All @@ -152,6 +156,7 @@ Repository
-->
Full course material is available in a GitHub repository [in Spanish](https://github.com/bettachini/MecanicaAnaliticaComputacional), with an ongoing [translation to English](https://github.com/unlam/ComputationalAnalyticalMechanics).
The first twelve folders contain the course material, each one corresponding to a unit:

1. Course methodology, Newtonian physics and Sympy introduction.
2. Degrees of freedom, generalized coordinates and energy.
3. Euler-Lagrange mechanics, Euler-Lagrange equations.
Expand All @@ -169,7 +174,7 @@ Also, accompanied by a set of examples, including functions to be modified by th
-->
Each folder contains Jupyter notebooks with the required theory for the unit subject alongside the code that solves example exercises.
The students only need to modify that code to solve the exercises proposed at the accompanying problem sets.
It is worth mentioning that many problems are modifications of problems presented in the course bibiography, and that they are cited, to help the students follow possible issues and to induce them to further use the textbooks.
It is worth mentioning that many problems are modifications of problems presented in the course bibliography, and that they are cited, to help the students follow possible issues and to induce them to further use the textbooks.
The problem sets are provided in PDF format alongside their LaTeX source and figure files, allowing their customisation.
The number of exercises in each problem set, while still being illustrative of the variety of the unit subject applications, is kept small in order to make their solving mandatory on a weekly basis.
Those of units 8, 9 and 11 are exceptions, requiring two weeks each, as they deal with subjects that had shown to be somewhat more demanding to students.
Expand All @@ -186,13 +191,15 @@ The oral examination is intended to gauge the students' learning, not only on th
## Implementation
The _Google Colaboratory_ service allows students to read and execute Jupyter notebooks, as it currently demands no payment and can be accessed from any internet browser.
At _UNLaM_, the university where the course is taught, _SageMaker StudioLab_, _GitHub Codespaces_, _Cocalc_ or indeed _Kaggle_ had also been tested for this purpose. Nevertheless, Colab, as it is commonly known, is currently used because it provides a useful feature for students to pose questions via side-notes to each cell of the notebooks.
Teaching staff can reply them individually, and students can re-reply, thus providing an asynchronous interaction channel in between the weekly synchronic meetings.
Teaching staff can reply to them individually, and students can re-reply, thus providing an asynchronous interaction channel in between the weekly synchronic meetings.

Students are required to submit their solution to the complete course's problem sets.
_MS Teams_ is used to assign and keep track of student's work, but any LMS, such as the open source _Moodle_, can fulfil this task.
Teaching staff check the submissions and, if required, returns them with comments to correct them.
_Microsoft Teams_ is used to assign and keep track of student's work, but any LMS, such as the open source _Moodle_, can fulfil this task.
Teaching staff check the submissions and, if required, return them with comments to correct them.
This way, students are encouraged to solve all exercises, as they are mandatory to pass the course, and to ask for help when they are stuck.



## Conclusions

The mechanical engineering programme is relatively new at UNLaM, so the number of students per class is still low, around eight, thus allowing personalised tracking of student's progress.
Expand Down Expand Up @@ -230,11 +237,13 @@ In summary, this course combines code-based exploration with a flipped classroom
-->
For the time being, feedback from students consistently indicates a high level of satisfaction with this course, especially with its code-driven aspect.
Additionally, students express interest in the final examination as it provides an opportunity to apply both their presentation skills and the knowledge acquired throughout the course.
In relation to the flipped classroom model, students acknowledge that it requires a grater effort, but a majority of them agree that it is a positive and beneficial implementation.
This is in line with previous research on the flipped classroom model for advances mechanical engineering courses [@mason_comparing_2013].
In relation to the flipped classroom model, students acknowledge that it requires a greater effort, but a majority of them agree that it is a positive and beneficial implementation.
This is in line with previous research on the flipped classroom model for advanced mechanical engineering courses [@mason_comparing_2013].

The authors are confident that the methodology employed in this course offers greater practical utility to students in subsequent subjects and their professional lives, surpassing the benefits of a traditional course.



# Aknowledgments

The authors would like to thank DIIT-UNLaM for its support and grant C2-ING-109 (2023-2024). __Probablemente Edgardo quiera sumar algo acá de UTN?__
Expand All @@ -251,7 +260,8 @@ For a quick reference, the following citation commands can be used:
# Figures
Figures can be included like this: ![Example figure.](figure.png)
-->



-->
# References
Loading

0 comments on commit 8a77557

Please sign in to comment.