IPLUSO 22254
Structured Programming
Cybersecurity
-
ApresentaçãoPresentationCyber attacks are not limited to any one type and range from social engineering attacks to the use of specially crafted programs. For a Cybersecurity professional, understanding a programming language can be an invaluable resource to recognize vulnerabilities in a particular application, understand how an attacker could exploit those vulnerabilities, realize what a piece of software is doing, and even if it is malicious or not. That is the context in which this CU addresses the subject of computer programming, approaching the basic concepts of structured programming as they exist in most programming languages. The CU uses the C programming language. Created in 1972, and used to develop the most popular Operating Systems, it remains the language of choice for systems programming. Given it¿s success, it has also influenced a significant number of other, more recent, programming languages, whose study can be leveraged by the insights gathered in this CU.
-
ProgramaProgrammeBasic Concepts Basic computer architecture Algorithms Programming languagesas a way to express algorithms Programs Program development Development stages Develpment tools Integrated Development Environments The C programming language Program structure Language elements Types, constants and variables Expressions and assignment operators Console I/O Structured programming Selection statements Repetition statements Compound statement Functions Variable visibility scope and lifetime Vectors and matrixes Character strings Pointers Function argumentos by value and by reference File I/O Structures The C standard library C Programs Implementing simple algorithms Structuting programs using fuctions Development methodologies
-
ObjectivosObjectivesAfter concluding this course the students should: Understand the concept of algorithm, in particular when applied to computer programming. Have acquired the competences to develop algorithms to solve small and medium complexity problems. Have learned the basic concepts related to computer programming. Be familiar with the use of a programming language and have acquired practical experience using it to read and write programs. Be familiar with the basic software development tools and have experience using an integrated development environment to write, test and debug programs. Understand the importance of documenting programs, writing style and, in general, of adopting conventions that increase program readability. Have acquired the ability to use the C programming language to solve specific problems using a computer.
-
BibliografiaBibliographyKernighan, B. and Ritchie, D. - The C Programming Language. 2nd Edition. Prentice Hall, 1988.ISBN: 9780131103627. Marques de Sá, J. P. - Fundamentos de Programação Usando C. FCA, 2004. ISBN:9789727224753.
-
MetodologiaMethodologyUse of project-based learning methodology through which students are encouraged to develop solutions for problems that are posed to them, and that address most of the topics taught. This methodology aims for the creation of a "product", which represents a solution to the proposed problem.
-
LínguaLanguagePortuguês
-
TipoTypeSemestral
-
ECTS6
-
NaturezaNatureMandatory
-
EstágioInternshipNão




