Download Introduction to programing and algorithms independent of the

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Introduction to programing and algorithms
independent of the language of programming:
application to data extraction and analysis
Organizers: Remi Neveu
2 ECTS
The course is given either in French or in English depending on participants’ requirements
Summary
This class is an introduction to programming skills using matlab and visual basic (Excel) as
programming languages for practice. Matlab and visual basic are used rather than C++, Python or Java
because matlab is widely used in cognitive neuroscience and Excel is widely used in private
companies. Skills developed during this class will allow participants to write, build and run their own
simple programs from scratch and these skills will be easily transferred to another programming
language (such as C++, Python, Java...). Thus, the use of loops and low level functions are exclusively
used during practice. The main programming tricks are tackled and participants are trained to track
and solve them (i.e. “random“ memory violations, programs that gives an output that seems to be
right but which is false). The modification of a previous program written by somebody else is
addressed as well as the building of functions.
7 sessions of 4 hours each at a frequency of one session per week.
Details
From a practical point of view, algorithmic notions are first presented and practiced over simple
exercises and some hardware notions useful for experiments construct and data recording are
addressed (1st session and half of second session). Second and third sessions tackle the use of
variables of different types (numbers (double, float, integers), strings (i.e. letters), structures, cells)
with matlab while sessions 4 to 6 are dedicated to building complex programs requiring the building
and the use of functions. The second half of session 6 and session 7 are dedicated to moving the
different notions addressed to Visual Basic by building a complex program that would extract specific
values that cannot be addressed with regular excel functions.
Complexity of exercises is progressive so that at each step, notions addressed at the previous step are
re-used and complemented by the notions addressed during the ongoing step. The first main step
encompasses all the basic manipulations of variables which will be addressed first independently and
secondly mixed together one after the other: use of numeric arrays of several dimensions and simple
computations over these arrays (mean, maximum... without using preprogrammed functions),
modifications of strings, use of arrays of different types (strings, structures, cells). The second main
step will tackle the building of functions and the understanding of function help. The third main step
will mix all the basic manipulations of variables addressed before through the building of a complex
program. This latter will aim at filtering, sorting and extracting data of different types at the same
time which cannot be done with the high level syntax of matlab and to do basic statistics on the
extracted data. The last step will deal with the transfer of the different skills to Visual Basic through
the building of a program of similar complexity as the one done during sessions 4 to 6.
Each exercise will be started from scratch: no previous programs will be reused.
Location
Library of the CMU, 2nd floor of the library, 1 rue Michel Servet, 1205 Geneva, room
F04.3472f (ex 4097) or 4106 depending on the availability of the room (see the schedule
below). You can find a map here:
http://www.medecine.unige.ch/enseignement/pratique/plans/plan4e.php
or here :
http://www.medecine.unige.ch/enseignement/pratique/plans/plan_salles_ens/Level4_4097
.htm for room F04.3472f (ex 4097)
http://www.medecine.unige.ch/enseignement/pratique/plans/plan_salles_ens/Level4_4106
.htm for room ex 4106
Schedule
4 hours per sessions on Tuesdays or Wednesdays afternoons from 2pm to 6pm, with a total
of 7 sessions starting on the week of the 21st of October 2015. Next sessions are scheduled
on:
Wednesday October 21, 2015, room F04.3472f (ex 4097)
Wednesday October 28, 2015, room F04.3472f (ex 4097)
Wednesday November 18, 2015, room F04.3472f (ex 4097)
Tuesday November 24, 2015, room F04.3472f (ex 4097)
Tuesday December 1, 2015, room F04.3472f (ex 4097)
Wednesday December 2, 2015, room F04.3472f (ex 4097)
Tuesday December 8, 2015, room F04.3472f (ex 4097)
Evaluation (only for PhD students enrolled in the Lemanic doctoral school or the CISA
doctoral program)
By course participation (presence in at least 80% of the sessions) and performance in
exercises during each session. There is no final exam but the global evolution of each
participant is estimated over the whole course of the sessions. Attending the classes without
improving programming skills will give 1 ECTS and fulfilling all objectives will give 2 credits.
Registration
By e-mail to [email protected] two weeks before the start of a new teaching session.
Number of participants will be limited to 13.