home   |   research   |   teaching   |   publications   |   biosketch   |   CV

University of Texas at Arlington - Spring 2012
CSE 1310

Introduction to Computers and Programming

1  - Course Overview
2  - Course Material, Topics and Goals
3  - Course Assignments, Exam and Policies
4  - Course/University Policies and Services

Class Schedule:
   Tue. & Thu., 3:30-4:50pm
Office Hours:
  Mariottini: Tue. & Thu., 1:30-3:30pm or by appointment
  Christopher Conly (TA): Mon. & Wed., 1:00-2:30pm
Course Website:
   http://ranger.uta.edu/ ~ gianluca/teaching/CSE1310

   Dr. Gian Luca Mariottini
   Web: http://ranger.uta.edu/ ~ gianluca
   Email: gianluca@uta.edu
   Computer Science and Engineering Dept.
   University of Texas at Arlington
   ERB 649, 500 UTA Blvd.
   Arlington, TX 76019-0015
Downloads: [Course Syllabus]

1  - Course Overview

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.

2  - Course Material, Topics and Goals

Click on the title of each section to download the slides!
  1. Intro to Computers and Data representation
            - 01/17/12: Introduction to course; Algorithms; Examples; Programs; Neurons and transistors; (done until pag.39).
            - 01/19/12: Clock speed; Computer structure (CPU, ALU); Binary-numbers and conversions; (done until end of slides).
  2. Beginnings: variables, operators, code structure
            - 01/24/12: Variable declaration, Operations;
                   + Running a Python program (from D. Brezeale website, CSE UTA);
                   + Code: available here.
            - 01/26/12: Operations, Types, Type conversions, Code Examples;
  3. Control Statements
            - 01/31/12: Code Examples; If Statement; Repetitions
                   + Code: available here.
            - 02/7/12: The If Statement; While Loop; For Loop; Code Examples.
            - 02/9/12: While and For Loop in detail; Code Examples.
  4. Strings
            - 02/14/12: The string type; String slicing.
                   + Code: available here.
            - 02/16/12: String operations; The in operator.
            - 02/21/12: In-class exercises
                   + Code: available here.
            - 02/23/12: Midterm 1
            - 02/28/12: String chaining and formatting.
            - 03/1/12: Final on strings and exercises.
  5. Functions
            - 03/1/12: Introduction to functions.
            - 03/6/12: More on functions.
                   + Code: available here.
            - 03/8/12: Exercises in class on functions.
  6. Lists and tuples
            - 03/20/12: Introduction to Lists. Methods and mutability.
            - 03/22/12: Shallow and deep copy. Tuples. Exercises.
                   + Code: available here.
  7. Dictionaries
            - 03/27/12: Introduction to Dictionaries. Properties and Creation.
            - 03/29/12: Accessing to Dictionaries; Example of usage and methods. Exercises;
                   + Code: available here.
  8. More on Functions
            - 04/03/12: More on Functions (calling mutable and non-mutable objects)
  9. Sets
            - 04/05/12: Sets: definition and operators;
                   + Code: available here.
            - 04/10/12: Introduction to Files; Seek(); Tell();
  10. Files I/O
            - 04/17/12: Correction of Homework and Midterm;
            - 04/19/12: CSV Module; OS Module and commands.
  11. Recursion
            - 04/24/12: Introduction to Recursion; Factorial;
            - 04/26/12: Recursion in Python; Fibonacci; Hanoi towers.
(please note that these course topics are preliminary and might undergo slight changes)

Course text

W. Punch and R. Enbody, "The Practice of Computing using Python", 2010, ISBN: 9780136110675
ACKNOWLEDGEMENT: The slides from my class are largely inspired from the excellent textbook of Punch and Enbody!

Course Goals

CSE 1310 is designed to:

Course Outcomes

Upon successful completion of the course, each student will:

3  - Course Assignments and Grading Policies

Class attendance and participation

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.

4  - Course/University Policies and Services

Tentatively, course grades will based on the following:
Assignments % of final grade
Participation 5 %
Quizzes (total) 10 %
Homework (total) 15 %
Midterm exam 1 20 %
Midterm exam 2 25 %
Final Exam 25 %
Percent Grade Letter
90 %-100 % A
80 %-89.9 % B
70 %-79.9 % C
60 %-69.9 % D
<60 % F
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.

Academic Honesty

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: 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.

Grievance Procedure

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 TEX by TTH, version 3.85.
On 29 Apr 2012, 22:22.