This is an introductory course to computers, to algorithm-based problem solving, and to programming. We will cover many core topics such as computer architecture, data representation, problem solving and algorithm development, control structures, functions, lists and tuples, file accessing, recursion, data structures, and introduction to classes.
For this course, we have chosen Python as the introductory language for beginning programming students. Python is simple to learn and allows the student to focus more on problem solving and less on language issues. Python is also practical: it can be used in real applications such as Web access, database manipulation, game programming, etc.
Students taking this course will learn more about problem solving and will have an extensive programming experience that will enable them to solve a wide range of practical problems in many fields of study.
Click on the title of each section to download the slides!
Intro to Computers and Data representation - 08/27/12: Introduction to course; Algorithms; Examples (done until pag.23).
- 08/29/12: Clock speed; Computer structure (CPU, ALU); Binary-numbers and conversions; (done until end of slides).
Control Statements - 09/17/12: Control; If Statement; Repetitions (While and For)
+ Code: available here.
- 09/19/12: In-class lab session
- 09/24/12: While and For Loop in detail; Code Examples.
Strings - 09/26/12: The string type; String slicing.
+ Code: available here.
- 10/8/12: String operations; The in operator; Correct HW.2
- 10/10/12: Correction Midterm
- 10/15/12: In-class lab experience
Functions - 10/17/12: Introduction to functions.
- 10/22/12: More on functions.
+ Code: available here.
- 10/24/12: Exercises in class on functions.
Lists and tuples - 10/29/12: Introduction to Lists. Methods and mutability.
- 10/31/12: Shallow and deep copy. Tuples. Exercises.
+ Code: available here.
More on Functions - 11/05/12: More on Functions (calling mutable and non-mutable objects)
Dictionaries - 11/07/12: Introduction to Dictionaries. Properties and Creation; Accessing to Dictionaries.
- 11/12/12: In-class lab experience- Movie Records
+ Code: available here.
Sets - 11/14/12: Sets: definition and operators;
+ Code: available here.
- 11/19/12: Sets: examples;
Recursion - 11/26/12: Recursion; Factorial; Recursion in Python; Fibonacci; Hanoi towers.
(please note that these course topics are preliminary and might undergo slight changes)
W. Punch and R. Enbody, "The Practice of Computing using Python", 2010, 1st. Ed.,
ACKNOWLEDGEMENT: The slides from my class are largely inspired from the excellent textbook of Punch and Enbody!
CSE 1310 is designed to:
Introduce the student to fundamentals of computers and data representation.
Explore problem solving in computing by using Python as a vehicle.
Give students a practical and complete foundation of programming.
Upon successful completion of the course, each student will:
Gain a practical foundation in programming.
Be introduced to computational thinking, i.e., problem solving with computational tools (Python).
Independently produce algorithms for solving concrete needs.
Read, understand, and produce Python code to solve classical problems in programming.
In CSE 1310, the students will be introduced to computers and programming. I like to interact with the class, by promoting an active learning style. For this reason, I strongly encourage the students to attend each class and to actively contribute with in-class discussions, when necessary. Students must arrive to class on time.
As detailed in the syllabus, I will also use in-class quizzes to encourage constant participation and assess students' preparation. Due to this, I encourage students to study the topics covered in class and to continuously practice your programming skills outside of class.
I also encourage students to constantly (and actively) practice their programming. Python is free and also available in the computers of NH 213.
Course assignments and policies
Students will be graded based on the results they obtained during the semester by taking in-class quizzes, homework, two midterms and a final exam (see next section for the Grading policies).
Quizzes consist of occasional, unannounced1, written questions that will be given sporadically throughout the semester, at the beginning of class. Points will be awarded for attendance and answering the questions correctly. Quizzes will last less than 10 minutes. Students that will arrive after a quiz is due, will not be able to take it and will get zero points on that quiz.
Homework will mostly consist of theoretical questions and programming Python assignments related to the topics of the course. Dates and submission details for the homework will be announced in class.
Midterms and final exams will mostly consist of theoretical in-class questions.
Dates for the midterm and final exams will be announced in class.
There will be no make-up quizzes, homework or exams. If you have to miss a quiz for a medical reason or other extreme circumstances, you must inform me in advance; it will count as your "lowest one quiz score to be dropped." If you miss more than 1 quiz, you will receive a 0 for each missed quiz.
No special make-up work will be accepted after the end of the semester. In the event of a documented major medical problem, a grade of Incomplete will be given pending the submission of complete work. However, make-up work "to improve one's grade" will not be accepted.
Tentatively, course grades will based on the following:
% of final grade
Midterm exam 1
Midterm exam 2
90 %-100 %
80 %-89.9 %
70 %-79.9 %
60 %-69.9 %
At my discretion, the lowest one homework score, and the lowest one quiz score, will be dropped.
The midterms and final exam are absolutely required, and these grades will not be dropped under any circumstances. I might schedule some assignment during the final review week. I will inform the students about this ahead of time.
Late submissions will receive a score of zero.
How to prepare for quizzes and exams
The most effective strategy is active recall. Reading the book, notes and examples alone will give you a false sense of familiarity. Instead, you must actively digest the class material, and practice your recall of it in question and answer form.
After each class meeting, review the class notes and the examples I provide, and especially points that I spend time elaborating upon. For each of these "main points" (there are probably about 4-6 of these per class meeting) you can try to write out a challenging question about the point, and prepare the answer to that.
By actively preparing questions that you know you can answer, you will be surprised how many of those show up on the quiz/exam.
Course/University Policies and Services
Attendance and Participation
As stated above, attendance is strongly encouraged at each class session. Students are encouraged to arrive on time and attend the full class period.
Participants who need to miss class for religious observance or for a pressing
personal or family matter, should contact the instructor prior to missing class or as soon as
possible. Participants should plan on getting the information about the missed class from a
peer. I strongly encourage in-class collegial behaviour. NON-collegial behavior includes working on other tasks during class time (text messaging, e-mailing, Web surfing, doing crosswords Sudoku, having private conversations, etc.).
Finally, I positively value the students' active participation to in-class discussions. This is
extremely important because gives the instructor (and the students too!) a feedback on the
class understanding. Disruptive students will be asked to leave the classroom.
All students are expected to pursue their academic careers with honesty and integrity.
"Scholastic dishonesty includes, but is not limited to, cheating, plagiarism, collusion, the
submission for credit of any work or materials that are attributable in whole or in part to
another person, taking an examination for another person, any act designed to give unfair
advantage to a student or the attempt to commit such acts" (Regents' Rules and
Regulations, Part One, Chapter VI, Section 3, Subsection 3.2, Subdivision 3.22.).
Students found guilty of dishonesty in their academic pursuits are subject to penalties that
may include suspension from the university. Any student found guilty of academic dishonesty
will receive a -100% for that work (homeworks, project, etc.) as well as having the
course grade lowered one full letter grade - in addition to any other penalties assessed
(suspension, expulsion, probation). These and other applying UTA rules, will be strictly
enforced. Any case of academic dishonesty will be treated in accordance with the UTA
Handbook of Operating Procedures or the Judicial Affairs website at http://www2.uta.edu/discipline.
If you do not understand this policy, it is your responsibility to obtain clarification or any additional information you may require.
Students are not allowed to:
collaborate with others on the code they write
copy any part of someone else's program, even if you have permission and/or have modified the code
sharing or giving your code or even a subset of your code to another student to review
reviewing another student's solution (including from past semesters)
All work turned in for grading must be the student's own work.
Accommodations for Students With Disabilities
I will do my best to provide, on a flexible and individualized basis, reasonable
accommodations to students who have documented disability conditions (e.g., physical,
learning, psychiatric, vision, hearing, or systemic) that may affect their ability to participate in
course activities or to meet course requirements. If you require any accommodation based on
disability, please meet with the Instructor (with your supporting papers) in the privacy of his
office the first week of the semester to be sure you are appropriately accommodated.
Anyone feeling that a dispute exists after the grading of any assignment or exam may
submit a written grievance. This grievance should identify the item in dispute and
arguments supporting the student's position. Grievances must be submitted in writing
within two class periods following the return of the assignment.
The instructor agrees to return a written response to the student's grievance within two
class periods from receipt of the grievance. If the error is due to wrongful calculation of points,
then no grievance needs to be submitted. If a written grievance is received, the instructor
reserves the right to re-grade the entire exam (not just the specific point in question).
Student Support Services Available
The University of Texas at Arlington supports a variety of student success programs to
help you connect with the University and achieve academic success. These programs
include learning assistance, developmental education, advising and mentoring, admission
and transition, and federally funded programs. Students requiring assistance academically,
personally, or socially should contact the Office of Student Success Programs at 817-272-6107
for more information and appropriate referrals.
Electronic Communication Policy
The University of Texas at Arlington has adopted the University "MavMail" address as
the sole official means of communication with students. MavMail is used to remind
students of important deadlines, advertise events and activities, and permit the University
to conduct official transactions exclusively by electronic means. For example, important
information concerning registration, financial aid, payment of bills, and graduation are
now sent to students through the MavMail system. All students are assigned a MavMail account. Students are responsible for checking their MavMail regularly. Information about activating and using MavMail is available at http://www.uta.edu/oit/email/.
1This policy can change in case of documented disability
File translated from
version 3.85. On 27 Nov 2012, 13:29.