Programación de Computadores - Universidad Nacional de Colombia - 2018-III


Important Links

Schedule and Material


Syllabus

Course’s credits: 3 (one credit equals 3 hours of work a week)

Instructor: Elkin Cruz, elacruzca@unal.edu.co

Office Hours: Wednesday 14:00-16:00, Friday 9:00-11:00. Lab 207 - Aulas de Ingeniería[1]

Webpage: here (slides, contents and announcements)

Prerequisites: (high-)school maths

How is the class organized

The class is (highly) practical. Learning to code is not easy, it will require many hours of individual and, often, lonely work!

There will be homework every week, the homework is mandatory but it will no be graded. I assume you will do it diligently each week. I will take every week some exercises from the homework and I will quiz you on them! All quizzes will be on the second class of the week (either Wednesday or Thursday), please arrive on time.

There will be three (3) exams during the semester, they are mandatory and represent 50% of the final grade. All students of all courses of “Intro To Programming” take the exams on the same week.

All students must present at the end of the semester (on the last week of class) a class project. The topic of the project will be defined at least 5 weeks in advance.

Content (Goals)

The course is divided into three blocks (and one small kickstart block)

  1. Structure of class, presentation, Motivation, Examples of Programming in the wild, and some history of programming languages. (about week and a half)
  2. Getting C++, how to compile, how to run executables, logic and sets (maths), if statement, loops (while and for statements), and functions. (about 6 weeks)
  3. Recursive functions, do-while loop, input from the user, passing by value and reference, and arrays. (about 4 weeks)
  4. Pointers (the messy truth behind arrays), new keyword, string operations, matrices (arrays of arrays), structures, and some functions from std libraries.

Material

We will focus on learning the basics of C. So, you will need to install a compiler for C (a tool to work with C). We will work with a tool called "Code::Blocks Dev-C"[2]. You can download it from: http://www.codeblocks.org/downloads/26 (recommended version to download: mingw-setup).

We will follow the book "The Little CPPler". You can find it in the webpage of the class, or in the following link:

Optionally, an additional book to learn some more mathematical topics related to computing can be found at:

Evaluation of knowledge from content (exams)

Each of the three blocks of the course ends with an exam. The exam will be on an online platform. Registration steps will be given before the first exam.

The topics to appear on each exam are[3]:

  1. Programming Languages basics (history and types), logic and sets (maths), simple programs in C++, and if statement.
  2. Recursive functions, and loops (while, for, and do-while).
  3. Arrays, matrices, and strings.

Grades

Code of Conduct

You (the student) must conform to the University’s Regulation. If you incur into any kind of plagiarism (that includes quizzes) or misconduct, your grade for the assignment (whichever it is) will be zero!

Repeated infractions may be a causal to be expeled from the university!

Please, take a closer look at “Concepto 2 de 2015 Oficina Jurídica Nacional”[4]


  1. Please send me an email before you arrive to the lab. I may not be present if I don’t receive an email.

  2. Code::Blocks is an IDE, it is a tool that combines several other tools to make your life easier. An IDE typically is comprised of a compiler (or interpreter), a text editor, and a debug tool.

  3. Small disclosure, the topics to appear on each exam may change due to changes on the schedule or any unintended problem that may appear on any of the other groups of intro to programming. Any change in the exams’ topics will be notified at least a week in advance.

  4. http://www.legal.unal.edu.co/sisjurun/normas/Norma1.jsp?i=87497