辅导案例-AMS 595

欢迎使用51辅导,51作业君孵化低价透明的学长辅导平台,服务保持优质,平均费用压低50%以上! 51fudao.top
AMS 595: Programming
Languages and C++
Course Projects
1
Project Objectives
Practice, deepen, and expand skills in
• Programming
• Computation
• Tools and software
• (Collaboration)
Apply these skills to
• Your own science and research with support
from peers and instructors
• Or to topics motivated by examples provided
by us or online
Performing your Project
Time available for projects is short
•Roughly final 4 weeks of semester
•Bear this in mind while developing your project
ideas
●Important note: if you choose C++ as your
programming language, you might accomplish
less, but create faster code
- Taken into account in grading
Project Success
• A successful project need not have
accomplished all of its original objectives, but
perhaps instead you
- Learned new skills, techniques, science along the
way
- Got major bits of code running
- Developed some interim conclusions relevant to
the original theme
• To communicate your outcomes you will surely
need some tables, graphs or pictures
Project Grading
• Projects count for 40% of total course grade. It
will be based on:
- Your submitted code
- Your final project slide
- Your written report
• Submit software, data, report (PDF), and
presentation slide
•Upload to Blackboard at end of semester
•We will post your slides
Getting Started: Project Proposal
1. Choose a topic
2. Prepare project proposal (ONE page or less)
− Title
− Your name and email
− Brief summary (ca. 1/2 page) with rationale or
background to topic, what outcomes you hope to
achieve, and your plan for getting the work done.
− State what software you will use.
• Upload by 11/6 as Word or pdf file with file
name based on your name
Next Step: Project Slide
• Prepare a single slide to describe your project
• Title
• Your name
• Goal(s): One sentence summary
• What you plan to do
− How you will reach your goals
− What software you will use (C++, python,
Matlab and anything else)
− A relevant reference (if any)
7
Upload by 11/13 as ppt or pdf file with file name based on your name.
We will post the collection of slides on Blackboard.
Project Results Slide
• Prepare a single slide to describe your project
• Title
• Your name
• Original goal(s): One sentence summary
• Summary of what you have done
• What software you used from other sources
and what you have created
• Experimental results, evaluations or findings
8
Upload by 11/30 as ppt or pdf file with file name based on your name.
We will post the collection of slides on Blackboard.
Final Step: Project Report
• Prepare a project report containing
- Your software in C++, Python, and/or Matlab and
associated data
• If the data is huge, then provide links instead
• All info needed to run code (e.g. compilers,
options used etc.)
- A PDF written document ~5 pages describing
- ~1-page: the project objectives
- ~2-pages: techniques and tools
- ~2-pages: conclusions
• Graphics and references in addition. They are not
included in the 5 pages
• Don’t forget references!!
• Upload to Blackboard. Due date 12/3
Grading Criteria
• Well organized and clear description of goals,
challenges and accomplishments
• Key components included? (e.g. Title, goals,
approach, challenges, results)
• Appropriate level of information
• Convincing effort? Appropriate accomplishments?
• Clear identification of basis for work (references,
starting point) as appropriate
• What you have learned
• Discussion of how you tested your code
• Anything special? (Use of tools, performance,
creative approach,…??)
• References
10
Grading the Code
• Well thought out approach to solving stated
problem (meeting your goals)
• Solution is efficient, effective, easy to understand
• Good standards of programming, including:
organization and layout; modularity, use of
suitable variable names
• Good documentation (concise but to the point, all
major functions described)
• Program executes without errors and results
correspond to information in report. Testing of
program was adequate
Project Topics
• See our suggestions for some project topics
− In Blackboard
• A variety of programming projects that have
suitable size and scope
• Perhaps a starting point for some new ideas of
your own
• Some other potential sources of project ideas
in these slides
12
Project Topics
• There are plenty of examples of solved
projects at:
• http://www.cppforschool.com/projects.html
• These come with C++ solutions, but they might
give you ideas for another project
• Another collection of problems can be found at:
• http://www.projecteuler.net/about
• Mostly suited for single developer, might give
you some ideas
13
Project Topics
• There are plenty of examples of solved
projects using Matlab in Cleve Moler’s book
Experiments with MATLAB
• Could potentially be re-implemented in
Python or C, expanded on or experimented
with.
• They include
Game of Life; Predtor-Prey Model; Sudoku
• Mandelbrot, Orbits, Shallow Water Equations
• Morse Code; Music
14
Project Topics
• You could look for efficient solutions in C++ to a
problem requiring
− Stencil operations, Linear algebra, Monte Carlo
simulations, Genetic Algorithm, Molecular Dynamics
• Ex: Discover behavior of gas, liquid and solid
starting from Newton’s 2nd law and a simple model
for the interaction between 2 atoms
− Simulation: write your MD program
− Data intensive: analyze data generated by an
existing Python MD program
− Graphics: write your own graphics or interface with
package to visualize data generated by Mdcode 15
Project Topics
• Consider focusing on performance tuning
− Getting a really fast code; experimenting with
ideas for optimization and comparing
performance of different versions
− Potentially trying out, reporting on use of tools
• A very important real-world problem is the
challenge of getting really fast matrix
multiplication with double precision elements
• Can one version do (very) well on more than
one computer?
16

欢迎咨询51作业君
51作业君

Email:51zuoyejun

@gmail.com

添加客服微信: abby12468