Ricerca di contatti, progetti,
corsi e pubblicazioni

Programming Styles

Descrizione

COURSE OBJECTIVES

Strengthen programming skills and understanding of fundamental programming language concepts.

 

COURSE DESCRIPTION
You are a good programmer. You are fluent in multiple programming languages. But can you program in style? This course is a journey through the landscape of programming languages and idioms. You will discover a multitude of dramatically different programming styles. A style arises from a set of constraints you impose on your code. Styles are independent of a given programming language. You can use many different programming languages to write code in a given style. *Pre-requisites*: This course expects participants to already be fluent in at least two different programming languages (ideally Java and JavaScript).

 

LEARNING METHODS
In this course you won't just hear about and discuss various styles. You will practice those styles. You will look at programming as an art, and like a budding artist—be it a painter, a writer, or a musician—you will practice producing works in multiple artistic styles.

 

EXAMINATION INFORMATION
Written in-class final exam (if possible).

 

REFERENCES

  • Mandatory textbook: Cristina Videira Lopes. Exercises in Programming Style. CRC Press. 2014. ISBN 9781482227376
  • This course uses Informa as a learning platform. Check the "Programming Styles" course site, with course themes, topics, skills, labs, readings, and more at https://informa.inf.usi.ch/courses

Persone

 

Hauswirth M.

Docente titolare del corso

Moreno Santos I.

Assistente

Informazioni aggiuntive

Semestre
Autunnale
Anno accademico
2020-2021
ECTS
3
Lingua
Inglese
Offerta formativa
Master of Science in Artificial Intelligence, Corso a scelta, Corso, 1° anno
Master of Science in Artificial Intelligence, Corso a scelta, Corso, 2° anno
Master of Science in Informatics, Corso a scelta, Corso, 1° anno
Master of Science in Informatics, Corso a scelta, Corso, 2° anno
Master of Science in Software & Data Engineering, Corso di base, Corso, 1° anno
Dottorato in Scienze informatiche, Corso a scelta, Corso, 1° anno (2 ECTS)
Dottorato in Scienze informatiche, Corso a scelta, Corso, 2° anno (2 ECTS)