An introduction to the intellectual enterprises of computer science and the art of programming.
Students who earn a satisfactory score on 9 problem sets (i.e., programming assignments) and a final project will receive a certificate from HarvardX. This is a self-paced course–you may take CS50 on your own schedule.
La récursion est un phénomène intriguant que ce cours expose, explore, explicite. Découvrez la récursion, programmez récursif, manipulez les données récursives que sont listes et arbres, le tout interactivement avec des exercices à correction automatisée.
Vous voulez savoir, comprendre, maîtriser ce qu'est la récursion ?
In this course, we will study security and trust from the hardware perspective. Upon completing the course, students will understand the vulnerabilities in current digital system design flow and the physical attacks to these systems. They will learn that security starts from hardware design and be familiar with the tools and skills to build secure and trusted hardware.
This course introduces the basics of Digital Signal Processing and computational acoustics, motivated by the vibrational physics of real-world objects and systems. We will build from a simple mass-spring and pendulum to demonstrate oscillation, how to simulate those systems in the computer, and also prove that simple oscillation behaves as a sine wave. From that we move to plucked strings and struck bars, showing both solutions as combined traveling waves and combined sine wave harmonics.
This course will introduce you to the foundations of modern cryptography, with an eye toward practical applications.
This two-part course introduces the basic mathematical and programming principles that underlie much of Computer Science. Understanding these principles is crucial to the process of creating efficient and well-structured solutions for computational problems. To get hands-on experience working with these concepts, we will use the Python programming language.
O curso apresenta uma introdução aos processadores multicore de uma forma acessível, sem que haja a necessidade de conhecimentos prévios na área de ciência da computação. A partir desta introdução serão feitas relações com outras áreas da computação, de forma a despertar o interesse do aluno para os diferentes cursos oferecidos pela Faculdade de Informática da PUCRS.
Learn the best models, methods and practices for effective lifecycle management for large-scale software. Want to manage software development, but unsure where to begin? This computer science course will teach you the models, methods and practices of software development to make the process manageable and result in high-quality and efficient software products.
In this introductory course, you’ll learn and practice key computer science concepts by building your own versions of popular web applications. You’ll learn Python, a powerful, easy-to-learn, and widely used programming language, and you’ll explore fundamental computer science concepts, as you build your own search engine and social network.
This course focuses on the fundamentals of computer algorithms, emphasizing methods useful in practice. We look into the algorithm analysis as a way to understand behavior of computer programs as a function of its input size.