Warning
This page is located in archive. Go to the latest version of this course pages.

Projects

Criteria for evaluation of projects

The project is seen from the general look, however, following criteria are evaluated:

Criterion Max. points Note
1. Functionality 10 The program must generate some results corresponding to the assignment.
2. Used syntax 10 Usage of build-in functions, vector x matrix operations, logical indexing, atomization of the code into self-standing functions, comments, readability of the code, etc.
3. Debugging 10 Check and validation of input parameters with controlled error messages (ie. your error, not crash of MATLAB), especially when inputs from GUI are used.
4. Graphical interface 10 Create the graphical interface with callbacks to provide full functionality from the GUI. Use some “smart” solution of data transmission between GUI and code.
5. Time effectivity 10 Vectorization, elimination of loops, use timer instead of loop, allocation of variables. Can be checked using function profile().
  • GUI created by appdesigner or guide will not be accepted.
  • Usage ofglobal variables will be accepted only in special and well-founded cases.
  • Every criterion must be evaluated with non-zero amount of points to pass the project.
  • At least 25 points must be achieved to pass the project.

All knowledge needed to pass the project will be presented during the semester. Also individual project consultations are welcomed and highly recommended during the semester.

During project evaluation, the fact that this is an introductory course will be taken into account.


Project no. 0 - Your own topic.

It is necessary to consult your own topic with a teacher.

Project no. 1 - Stock price chart

Create an application that displays stock price chart of a stock exchange listed company. Let user choose the company’s name (ticker) and time span of the price time series. Display the time series of the price and add 200-days and 50-days moving averages. Use Yahoo! Finance web page (https://finance.yahoo.com, http://markets.financialcontent.com/stocks/), for instance, to access and download (directly from Matlab) the stock quotes.

Project no. 2 – Weather map

Create an application that displays air temperature around Europe. Use data of surface temperature measured by radiosondes at meteorological stations around Europe(http://www1.ncdc.noaa.gov/pub/data/igra/). Knowing coordinates of each weather station, display temperature distribution on a map overlay for a particular day chosen by user.

Project no. 3 - Terrain profiles

Display terrain profile (height above sea level as function of distance) between two points. The user selects the points by entering latitude and longitude of the respective locations. Use SRTM database (http://srtm.csi.cgiar.org/SELECTION/inputCoord.asp) to access digital terrain data.

Project no. 4 – Webcamera

Download online snapshots from a public place webcamera. Determine number of people on the snapshot at each instant of time.

Project no. 5 – Map of the world

Create 2-D map of the world. Enable following operations: zoom-in, zoom-out. Use cursor keys to move around the map. Use color coding to display terrain height and following digital terrain data: http://srtm.csi.cgiar.org/SELECTION/inputCoord.asp

Project no. 6 – CAPTCHA

Create CAPTCHA (for Completely Automated Public Turing Test To Tell Computers and Humans Apart) program to distort text entered by user.

Project no. 7 – Currency converter

Display spot (real-time) exchange rates of currencies pairs (eg. EUR/USD, EUR/GBP, EUR/CZK). make it possible for the user to calculate the equivalent amount of money in different currencies. Use the webpage https://ebroker.santandertotta.pt/public/currencies/?language=en on any other webpage you find.

Project no. 8 - Navigation

Create an application to find the shortest way between two points on map of a city.

Project no. 9 - Piano

Use computer keyboard as a piano keyboard to play simple songs.

Project no. 10 – Tower of Hanoi

Implement algorithm ‘Tower of Hanoi’. Visualize the evolution.

Project no. 11 - Ray tracing in optical fiber

Model ray trajectory in optical fiber. Consider the problem as two-dimensional. Display ray trajectory depending on angle of entrance and let user define distribution of refractive index of the fiber.

Project no. 12 – Calculator

Create application Calculator with GUI including display panel and buttons for basic unary and binary operations (addition, subtraction, multiplication, division, square root, etc.)

Project no. 13 – File manager

Create application ‘File Manager’ (two windows listing directories and files). Implement features like directory listing, copying, deleting and renaming files and directories.

Project no. 14 – Implementation of evolutionary algorithm

Implement an evolutionary algorithm (e.g. genetic algorithm) to find maximum of an n-dimensional function

Project no. 15 – Snake game

Create imitation of Snake videogame – snake moving in bounded space and growing its tail. Use keyboard to control the snake

Project no. 16 – Paint

Create application Paint. The application should make it possible to draw lines and curves using different colors and to save and open files.

Project no. 17 - Application with Undo Operation

Application could be almost anything, e.g. text editor, figure editor, calculator, sound editor, …, but has to contain buttons Undo, Redo and editor of history. In the history editor it should be possible to rearrange list of actions and execute the whole history.

Project no. 18 - Plot of reflection coeficient in Smith Chart

Create a function which creates polar axes (function polaraxes) with parametric circles common in Smith chart (wiki). The function will be able to plot frequency dependence of complex reflection coefficient into the chart. Figure with the plot has to contain some interactive elements.

Project no. 19 - Examination of signal parameters

From loaded signal/data (voltage, sound, blood pressure, wind speed, …) examine its basic parameters as amplitude, DC component, peak-peak voltage, rms voltage, frequency content, overshoot, … Examined parameters depends on type of the signal. Source of the signal is up to you.

Project no. 20 - Statistical analysis

From some extensive data set (wind speed, temperature, animal population, company production, flow of water in a river, …) compute and show its statistical parameters as probability distribution function, median, mean value, variance, quantiles, … Enable loading of data from the application and interactive settings of shown results.

Project no. 21 - Controlling of Arduino device via Matlab

Write an application for control af whatever Arduino device. Matlab enables send and receive command via serial port (function serialport). You have to have your own Arduino device.

Project no. 22 - Simulation of planets in the Solar System

Write an application which shows movement of planets in the Solar System. Enable change a date of simulation and speed of planet's movement. Follow Keplerian Elements of orbits as stated here: NASA

Project no. 23 - Processing of *gpx files

Write an application for processing of *.gpx files with GPS data. Compute length of journey, elevation, speed, burned caliries, … To read the files use function loadgpx.m. Show the route on the map using geoplot function and class GeographicAxes (function geoaxes), respectively.

Project no. 24 - Planetarium

Show night sky on specified date, time and place on Earth. Or create browser of night sky with interactive settings of field of view. Enable selection of shown starts brightness. Stars database: www.astronexus.com/hyg

Project no. 25 - Oscilloscope from sound card

Implement simple oscilloscope utilizing sound card input. Set horizontal and vertical scale and set trigger to an edge of the input signal. Example of usage of audiorecorder class: audiorecorder_example.m

Project no. 26 - Instrument Tuner

Implement instrument tuner using input of sound card. Example of usage of audiorecorder class: audiorecorder_example.m

courses/be0b17mtb/projects.txt · Last modified: 2020/04/12 22:45 by adlervik