# Create a Python Engineering program.

Anonymous

### Question Description

The coursework requires an Engineering related Python program to be created from scratch. Creativity and quality are crucial, and following the deadline is mandatory.

The pdf is attached and says the following:

"

1. Show how much you have learned and how well you have learned it by writing your own code and explaining it.

2. Apply the skills you have learned to real engineering problems at whatever level of diﬃculty you are comfortable.

3. Be creative. There is no right or wrong answer, just a chance to either play it safe or show oﬀ! This coursework is designed to assess the top level of your ability and understanding, as the basic and intermediate-good marks were for the continual assessment and AutoCAD. Marks will be allocated for demonstrating clearly your level of understanding.

Playing it safe guarantees easy marks if you can explain it well. Being creative and being ambitious is risky but gives a chance to be in the top level. Submit your Assignment as a .html webpage using Notebook. Follow the video guide for how to do this. Remember to also submit any ﬁgures you included in the ﬁle as ![](figname.png), or I won't be able to see them! use unique ﬁlenames to avoid using the same one as anyone else. Submit before the deadline. If your submission fails/is in the wrong format and is resubmitted after the deadline, it will count as late (this will be penalised; see below; no excuses!).

The Brief

1. Choose an engineering example from one of your other units (i.e. not one from the Python notes). This can be anything, but should be something you can use a computer to do eﬀectively and more eﬃciently than you could do by hand. It can be anything you like; for example: solving the equations for a structural, environmental or other engineering problem, simulating some engineering system that you know the details of how it works, manipulating and/or plotting data from an experiment. 2. Design and write a short (or long?) piece of code to solve or simulate the real problem. Choose something as diﬃcult as you are comfortable with. Use Section 7 notes (and others) to guide you when writing code from scratch. 3. Surround the code with a documentation-style report (there are no marks for length, say as much as you need to be clear - ask a friend to read it to judge if this is the case). A. explaining the engineering problem or task, B. including the code and an example of the outputs, and C. explaining how the code works in simple language, so that fellow students with a beginners grasp of Python could understand it.

How do I choose a topic? There is no one answer for everybody. If you ﬁnd programming diﬃcult then choose something quite simple at the level you are comfortable. If you want to aim higher try to simulate or solve a much more diﬃcult example, but Beware! of taking on something that you may have diﬃculty getting to work. Remember you can help each other, but you will get limited help from the tutors as this is YOUR PROJECT!. Do not ask us how to write your code. If you need help it has to be very speciﬁc technical questions after you have read and can point to the relevant part of the notes you want help with.

The marks will depend not only on the skills shown and the level of diﬃculty, but the depth of understanding demonstrated by your explanation of the methods and code. Also the clarity and simplicity of the explanations. Marks will be earned depending on how clearly the problem, code and solution are explained. If you can show a good understanding of the fundamentals of programming then this demonstrates a good grasp of the basics and puts you in a good position to use these skills in your future units, dissertations and career. This Assessment is designed to judge the top level of understanding of all the programming material through self-study, so expect a 50% average over the whole class.

16/04/2017 Assignment Main Programming Assignment This assignment is your chance to do some or all of three things: 1. Show how much you have learned and how well you have learned it by writing your own code and explaining it. 2. Apply the skills you have learned to real engineering problems at whatever level of diﬃculty you are comfortable. 3. Be creative. There is no right or wrong answer, just a chance to either play it safe or show oﬀ! This coursework is designed to assess the top level of your ability and understanding, as the basic and intermediate-good marks were for the continual assessment and AutoCAD. Marks will be allocated for demonstrating clearly your level of understanding. Playing it safe guarantees easy marks if you can explain it well. Being creative and being ambitious is risky but gives a chance to be in the top level. Submit your Assignment as a .html webpage using Notebook. Follow the video guide for how to do this. Remember to also submit any ﬁgures you included in the ﬁle as ![](figname.png), or I won't be able to see them! use unique ﬁlenames to avoid using the same one as anyone else. Submit before the deadline. If your submission fails/is in the wrong format and is resubmitted after the deadline, it will count as late (this will be penalised; see below; no excuses!). The Brief 1. Choose an engineering example from one of your other units (i.e. not one from the Python notes). This can be anything, but should be something you can use a computer to do eﬀectively and more eﬃciently than you could do by hand. It can be anything you like; for example: solving the equations for a structural, environmental or other engineering problem, simulating some engineering system that you know the details of how it works, manipulating and/or plotting data from an experiment. 2. Design and write a short (or long?) piece of code to solve or simulate the real problem. Choose something as diﬃcult as you are comfortable with. Use Section 7 notes (and others) to guide you when writing code from scratch. 3. Surround the code with a documentation-style report (there are no marks for length, say as much as you need to be clear - ask a friend to read it to judge if this is the case). A. explaining the engineering problem or task, B. including the code and an example of the outputs, and C. explaining how the code works in simple language, so that fellow students with a beginners grasp of Python could understand it. Use the style of explanation in the course notes as a guide to the style and level of explanation that is appropriate. You can help and advise each other, but your submission MUST be your own. You also may use code from either the notes or online as a starting template (this is how real programmers work) but make sure that the program you submit is your own! You need to demonstrate your understanding through the surrounding text and explanation. The style can be in the same format and style as some of the examples in the notes and model answers from this unit, or some other way if you want to show some ﬂair! For example you might want to write it as if it is an online guide to programming for new engineering students, or as a report showing how you are solving a useful engineering problem. If you want a template to work from, use the format I used for the second Task (on daylight factors) but change it to be about your chosen topic. An simple example might be the Quadratic Formula example form Section 2 or exercises as the problem and explanation with the model code included as the program. A more advanced example would be some of the later material on the Euler method or some of the other later material. Remember that good code is well commented code. How do I choose a topic? There is no one answer for everybody. If you ﬁnd programming diﬃcult then choose something quite simple at the level you are comfortable. If you want to aim higher try to simulate or solve a much more diﬃcult example, but Beware! of taking on something that you may have diﬃculty getting to work. Remember you can help each other, but you will get limited help from the tutors as this is YOUR PROJECT!. Do not ask us how to write your code. If you need help it has to be very speciﬁc technical questions after you have read and can point to the relevant part of the notes you want help with. How will it be marked? ﬁle:///Users/glals/Assignment.html 2/5 16/04/2017 Assignment The marks will depend not only on the skills shown and the level of diﬃculty, but the depth of understanding demonstrated by your explanation of the methods and code. Also the clarity and simplicity of the explanations. Marks will be earned depending on how clearly the problem, code and solution are explained. If you can show a good understanding of the fundamentals of programming then this demonstrates a good grasp of the basics and puts you in a good position to use these skills in your future units, dissertations and career. This Assessment is designed to judge the top level of understanding of all the programming material through self-study, so expect a 50% average over the whole class. You have mostly already earned nearly 20 of the total 50 marks from the continual learning of the tasks each week. You should also expect the AutoCAD class average to be the usual 60%. If you do something simple but explain it very well you will maintain your average overall. If you create an advanced program to the highest level of material in the notes but do not show well (through comments in code and surrounding explanation) whether you have understood it, copied it and blindly modiﬁed it until it worked, or something else, then you will not do any better. Ask a friend to read it to judge if you have done this well. 30% of the marks overall will be reserved for going beyond the taught material, demonstrated using your own ideas. For example accessing the internet, writing graphical user interfaces, exporting (freezing) your code to an executable... the list is endless. The coursework will be marked anonymously, so put only your SAMIS number in the ﬁles and ﬁlenames as ID. Appendix: Using IPython Notebook to Create a Document If you open a new Cell and change the Cell Type from Code to Markdown you can input normal text, section headings as well as well formatted maths and things such as web-links. Markdown is a simpliﬁed way of creating formatted text for web-pages (see below for how it works). Web-page are created in this way and saved by going to File -> Download As -> HTML. Markdown Basics (See my guide about using IPython Notebook near the top of the main moodle page for more information). Markdown is pretty simple to use. Section headings of diﬀerent levels are marked by either underlining them with dashes --- or equals signs ===, or with hash symbols # in front of them: markdown: This is a Main Section Heading ========== This is some text in the main section. This is a Sub-Section heading ------------This is text in the subsection. # This is another way to do Sections And some text. ## This is a Sub-section Text ### This is a Level 3 Heading #### And so on When you "run" the Cell it will be formatted like this: This is a Main Section Heading This is some text in the main section. This is a Sub-Section heading This is text in the subsection. This is another way to do Sections ﬁle:///Users/glals/Assignment.html 3/5 16/04/2017 Assignment This is another way to do Sections And some text. This is a Sub-section Text This is a Level 3 Heading And so on Including code and Output Code will be formatted and all ﬁgures inline (if you use the %pylab inline command, as seen in Section 5): In [3]: %pylab inline import matplotlib.pyplot as plt import numpy as np x=np.arange(100) y=np.random.random(100) plt.plot(x,y,'o') plt.show() Populating the interactive namespace from numpy and matplotlib ﬁle:///Users/glals/Assignment.html 4/5 16/04/2017 Assignment Inputting Maths Maths can be input using special characters. All inline maths is between single $symbols, and maths displayed on its own line (centred) is in double dollars $$MATHS$$. Greek letters are just their name with a backslash, for example the symbol is written as: \pi. Powers use the A^B, and come out as , fractions are written as \frac{N}{D} and come out as etc. Here is an example, ﬁrst written in Markdown: markdown: This is an *inline* equation:$A = \pi r^2\$. Next we see a *displayed* equation: $$E = mc^2$$ **Note:** Emphasised text, surrounded with single stars (*) comes out as *italics* and strong empha sis (with double stars) is **bold**. Then how it comes out when the Cell is displayed: This is an inline equation: . Next we see a displayed equation: Note: Emphasised text, surrounded with single stars (*) comes out as italics and strong emphasis (with double stars) is bold. Symbols are grouped using curly brackets {a,b,c}. List of Basic Maths: markdown: Subscripts: $$a_{i,j}$$ Fractions: $$\frac{A}{B}$$ Sums: $$\sum_{i=1}^N$$ Integrals: $$\int\limits_a^b f(x) dx$$ A complicated equation: $$\frac{df}{dx} = \lim_{dx \rightarrow 0} \left\{ \frac{f(x+dx)-f(x)}{dx} \ri ght\}$$ This comes out as: Subscripts: Fractions: Sums: Integrals: A complicated equation: ﬁle:///Users/glals/Assignment.html 5/5

This question has not been answered.

Create a free account to get help with this and any other question!

Brown University

1271 Tutors

California Institute of Technology

2131 Tutors

Carnegie Mellon University

982 Tutors

Columbia University

1256 Tutors

Dartmouth University

2113 Tutors

Emory University

2279 Tutors

Harvard University

599 Tutors

Massachusetts Institute of Technology

2319 Tutors

New York University

1645 Tutors

Notre Dam University

1911 Tutors

Oklahoma University

2122 Tutors

Pennsylvania State University

932 Tutors

Princeton University

1211 Tutors

Stanford University

983 Tutors

University of California

1282 Tutors

Oxford University

123 Tutors

Yale University

2325 Tutors