Introduction to Programming
Objectives
In this course, you will prepare yourself for working with a team of developers by "getting your hands dirty" with learning and using the tools of modern software development. The purpose of this course is not to make you a software engineer. It is to show you the development cycle as well as to give you the basic understanding in case you want to discover more after the class.
General characterization
Code
2477
Credits
7
Responsible teacher
Ricardo João Gil Pereira
Hours
Weekly - Available soon
Total - Available soon
Teaching language
English
Prerequisites
n/a
Bibliography
Fluent Python - Luciano Ramalho (2015)
Teaching method
The class will be in a blended format, which requires students to do half of the time in async work. We will use the weekly in-person classes to do discussions, live coding and quizzes to practice in teams and the remote/async to do knowledge transfer. Because evaluation is based on a game where each student can play their own way, each student will have specific questions, for which we will make available office hours to answer in order to build a more personalized learning experience.
Evaluation method
Final exam: 40% - it will cover all the important technical concepts that we worked on during the semester. Continuous evaluation (gamified): 60% - set of optional assignments, articles, peer-reviewing, in-class quizzes and badges, all through a community-driven perspective. The badges will grant the student an extra grade for outstanding performances, consistent participation in technical discussions (Slack) or brainstorming/feedback on the game (we want your help improving the game).
Subject matter
Variables
Data Structures
Flow control
Functions
Keyword Args and scope
Files I/O
Classes
Python Libraries
APIs
Variáveis
Programs
Programs where the course is taught: