Tecnológico de Monterrey, Campus Guadalajara
Computer Science Department
TC1014 Fundamentals of Programming
January to May, 2015
Course intent within the general study plan context
Basic computing course where the objective is to develop in students the logic of structured programming that permits them to solve engineering problems using the computer. It requires previous knowledge in computer handling and basic algorithms. The learning outcome of this course is that the student can design and develop algorithms in order to solve different kinds of problems in science, engineering or multimedia problems.
Upon completion of this course, students will be able to apply logic to generate algorithms that provide solutions to engineering problems.
Interactive web version of the same book here: http://interactivepython.org/runestone/static/thinkcspy/index.html
|Partial Evaluations||Final Evaluation|
* Partial (and Final) exams note: you *must* attend on the scheduled day for the exams in your scheduled group. Rescheduling of exams must go through the official processes of the Tecnológico de Monterrey Campus Guadalajara.
** Final Exam Note: The final exam covers all material in partial 1, partial 2 and any material covered up to the final day of classes.
You are responsible for tracking and reporting to the instructor your progress on the mastery topics. I recommend a Google Spreadsheet shared with the instructor. We are currently working on a Mastery Tracking Application (developed in Django) but there is no release date yet for this.
See the section “Assignment Details” below for more information about how Mastery will be scored.
WSQ (Watch, Summarize, Question)
Outside work will include watching videos, reading material in a textbook or an article and similar activities.
Part of learning to review material in an academic style involves pausing, highlighting, note taking, summarizing and questioning the content.
The goals of the outside work is to prepare all students for the activity in the classroom. We will discuss this in detail in the group but you need to realize the outside activity is a large part of your educational process.
Topic List to be Mastered by End of Course (subject to change)
- Ability to create Python file and run from command line
- Ability to create Python project in IDE and run inside the IDE
- Create accounts: Blog, Twitter, GitHub
- Submit work via Blog RSS and GitHub
- Demonstrate use of Linux sufficient for quizzes/exams
- Install Linux on their own computer
- Use of comments in Python
- Python conventions (Zen of Python)
- Basic types and their use in Python
- Basic output (print) in Python
- Calling Python functions
- Creating Python functions
- Importing and using Python modules
- Creating and using a Python module
- Use of the conditional “if”
- Use of “else” with a conditional
- Use of “elif” with a conditional
- Nesting of conditional statements
- Use of loops with “while”
- Use of loops with “for”
- Use of recursion for repetitive algorithms
- When to use what type of repetition in a program
- Creation and use of lists in Python
- Creation and use of tuples in Python
- Creation and use of ranges in Python
- Creation and use of strings in Python
- Creation and use of dictionaries in Python
- User input (text based) in Python (basic)
- Validated user input in Python
- Reading and writing of files in Python
This Course is Different than Others
Note that we are using an educational paradigm that is called the “Flipped Classroom” in this course. This will be a change for you in that you are responsible for reviewing any videos, reading of textbooks or other materials requested outside of classroom time. The time inside the classroom is principally dedicated to actively programming or asking questions about programming problems or theory from materials that you or your classmates did not understand.
This means that you need to arrive to the classroom ready to program. I am a big proponent of “pair-progamming” as well as “pair learning” which means I often will ask you to work in pairs at the computers. You should however ensure you have your personal computers setup with the tools we need for the course.
The dates of partial exams and final exams for all courses follow the general academic calendar which can be found at http://www.gda.itesm.mx/escolar
Group 3 (10am) Feb 19 and April 9 (partials) and May 7 (final)
Group 4 (11:30am) Feb 16 and April 6 (partials) and May 9 (final)
Assignments are flexible in that I will provide various assignments to work on that are not directly worth marks. Your grades will be based on three types of assessments: topic mastery, quizzes and exams.
Topic mastery are marked as OSU (Outstanding, Satisfactory, Unsatisfactory) with a 2/1/0 scale. The expected level to pass the course is satisfactory (1) in each topic. A significant extra effort is required to achieve “Outstanding” in any of the topics but in order to achieve a high grade in the course you will want to aim for these. In order to achieve full points in mastery you need to have at least satisfactory on all and outstanding on ⅓ of the topics. You cannot go over the full points in mastery and all other calculations are relative to this maximum.
There is no schedule for the mastery marks but you obviously need to meet longer range goals for the total. Some students will choose to move quickly through the topics while others will move at a slower pace. The choice is yours.
The quizzes are sometimes “pop quizzes”, planned mini-exams and levels in between.
- Behaviour should be based on discipline, responsibility and respect.
- We expect everyone to follow the code of ethics of the Tecnológico de Monterrey.
- Everyone in this class promises to act and be bound by academic honesty.
- Attendance is taken at the beginning of class when the bell sounds.
- There is no forgiving attendance or late attendance, the professor simply records who is in class and who is not.
- If a student arrives after attendance is taken, she/he may enter orderly but the absence remains.
- The limit for absences is the equivalent to three weeks of classes. If a student passes this limit, their final grade for the course will be (EF).
- There is no removal/justification of absences for any reason.
- An absence therefore has other consequences beyond simply missing the activities of a class session.
- It is strictly prohibited to use mobile devices during exams, they should be turned off and stored in your backpack/bag.
- Use of unauthorized electronic items during an exam will result in the reporting of DA (deshonestidad académica).
General Policies of the Campus
- The use of laptops or any other computing device is prohibited unless the professor indicates/prescribes their use.
- Food consumption is prohibited inside the classroom.
- The student (and instructor) should leave the classroom furniture in an ordered condition.
Indicate that you have read this document and are in agreement of this as our course policy for the semester. You can do that by writing a comment here with your name.
TC1014 Page One by Ken Bauer is licensed under a Creative Commons Attribution 4.0 International License.