Advanced Programming
- Enseignant(s): S.Scheidegger A.Eftekhari
- Titre en français: Programmation avancée
- Cours donné en: anglais
- Crédits ECTS: 6 crédits
- Horaire: Semestre de printemps 2022-2023, 4.0h. de cours (moyenne hebdomadaire)
-
séances
-
site web du cours
-
Formations concernées:
Maîtrise universitaire ès Sciences en sciences actuarielles
Maîtrise universitaire ès Sciences en économie politique
Maîtrise universitaire ès Sciences en finance, Orientation finance d'entreprise
Maîtrise universitaire ès Sciences en finance, Orientation gestion des actifs et des risques
Maîtrise universitaire ès Sciences en finance : Entrepreneuriat financier et science des données
Maîtrise universitaire ès Sciences en management, Orientation stratégie, organisation et leadership
Maîtrise universitaire ès Sciences en management, Orientation business analytics
Maîtrise universitaire ès Sciences en management, Orientation marketing
Maîtrise universitaire ès Sciences en management, Orientation comportement, économie et évolution -
Permalink:
ObjectifsThis is a FAST-PACED (advanced) course covering the Python and C++ programming languages. Moreover, it will present topics from parallel computing, high-performance computing, and cloud computing.
a) Understand and use the basic programming constructs of Python and C++. b) Manipulate various data types, such as arrays, strings, and pointers). c) Isolate and fix common errors in Python/C++ programs. d) Use memory appropriately, including proper allocation/deallocation procedures. e) Apply object-oriented approaches to software problems in Python and C++. f) Write Python C++ and programs using the above skills. g) Understand algorithmic complexity. i) Understand how to accelerate software by means of parallel computation. j) Deploy software on cloud infrastructure. In summary, the goal of this course is to provide students with the skills and confidence in computational problem-solving. Contenus- Basic Programming concepts in Python and C++. - Differences of interpreted versus compiled languages. - Recursions, List, dictionaries. - Program control flow, exception handling, software debugging. - Software management and unit testing. - Variables, scopes, functions, argument passing, structures, file I/O. - Object-oriented programming, classes, inheritance, polymorphism. - multithreading, multiprocessing, semaphores, locks, inter-process communication, pipes. - Performance, Virtualization. - MPI, OpenMP, (and if time permits, Cuda, OpenACC) - Libraries for scientific computing
RéférencesJohn V. Guttag, Introduction to Computation and Programming Using Python, Revised And Expanded Edition, https://mitpress.mit.edu/books/introduction-computation-and-programming-using-python-revised-and-expanded-edition Hans Petter Langtangen, A Primer on Scientific Programming with Python, https://www.springer.com/us/book/9783662498866 Bjarne Stroustrup, Programming: Principles and Practice Using C++, http://www.stroustrup.com/programming.html Stephen Prata, C++ Primer Plus, https://www.amazon.com/Primer-Plus-6th-Developers-Library/dp/0321776402
Pré-requis- Solid operational know-how of either Python and/or C++. - Personal interest in computing and the basic knowledge of mathematics delivered in the bachelor programme. Students are encouraged to have a strong interest in computationally solve complex problems. - This FAST-PACED course will consist of both lectures, software tutorials, and exercises. For the tutorials and exercises, you will need to bring a laptop computer to each class. If you do not have a laptop computer, you can still follow the class but please contact the professor to help you find a solution for effective participation in the practical hands-on exercises. - For Master students from other universities that want to attend the course: Note that it is only dedicated to HEC master’s students and HEC mobility students (if you need credits; if you just want to follow the materials, there is no such restriction). - For Ph.D. Students from other universities: Please write me an email to see whether you can attend the course for getting credit in your Ph.D. program.
Evaluation1ère tentative
Rattrapage
|
[» page précédente] [» liste des cours]