Instructor: Dr. Shyamal Mitra
Office Hours: M 10:00 AM - 10:50 AM
Office Hours: WF 1:00 PM - 1:50 PM
Location: GDC 6.320 or GDC 6.302
E-mail: mitra@cs.utexas.edu
Do not send mail through Canvas
Name | E-mail Address |
---|---|
Ghufran Baig | ghufran@cs.utexas.edu |
Ke Chen | ke.chen@utexas.edu |
Sung-ho Justin Oh | s.justin.oh@gmail.com |
Yinan Zhao | hldzyn@gmail.com |
Zaiwei Zhang | zaiweizhang@utexas.edu |
Day | Time | Location | Assistants |
---|---|---|---|
Mon | 4 PM - 6 PM | GDC 4.304 | Zaiwei and Yinan |
Tue | 4 PM - 6 PM | GDC 4.304 | Ghufran and Ke |
Wed | 4 PM - 6 PM | GDC 4.304 | Ghufran and Justin |
Thurs | 4 PM - 6 PM | GDC 4.304 | Justin and Ke |
Fri | 4 PM - 6 PM | GDC 4.304 | Yinan and Zaiwei |
Text: Introduction to Programming using Python
Author: Y. Daniel Liang
Publisher: Pearson
ISBN: 978-0-13-274718-9
Optional Text: Elements of Computer and Programming
Author: Shyamal Mitra
Publisher: Great River Learning
ISBN: 978-1-68075-372-1
Supplementary Material: iClicker 1 or 2
Computing is an integral part of all natural sciences and engineering disciplines. All other disciplines require some familiarity with computers. This course is designed to teach the fundamentals of computing and programming to students who wish to minor in Computer Science. In this course we will cover basic computer architecture and software components. We will learn to program in a high level language (Python). We will learn problem solving techniques for numerical and scientific problems. We will study the syntax and special features of Python, develop our own algorithms, and translate them to computer code. No prior programming experience is required but familiarity with personal computers will help significantly.
We will be following the book quite closely. Supplemental notes will be available on the web. This course will be a tutorial introduction to programming. Unlike the traditional lecture format, our classes will be a venue for solving problems, writing programs, and exchanging ideas. Your attendance to the classes is mandatory. If you are not there for any lecture you need to send me an e-mail (mitra@cs.utexas.edu) explaining why.
You may choose to use your own computer to work on these assignments. If you work on your home computer, you will have to download and install Python 3 ( www.python.org ) on your home machine. There is a graphical development environment (IDLE) that comes with Python that you can also install. However, we prefer that you write your programs in a simple text editor (like Notepad or TextEdit or Sublime Text) and run your programs on the command line.
The only way to learn programming is to program. Doing the programming assignments is crucial to performing well in class. I strongly recommend that you write programs over and above what is assigned to you. Expect one or two assignments every week. Each assignment will have a clearly stated due date and time. Assignments start out being easy but get harder over the semester. If you are having considerable difficulty with Assignments 2 and/or 3, please see me immediately.
The assignments will require a substantial time commitment over several days (an average of 8 to 12 hours per week should be expected). Be sure to budget sufficient time to complete assignments before the deadline.
Turn in your assignments on time. This permits grading to start promptly after the submission deadline so that assignments maybe returned promptly. If you do not finish an assignment by the deadline you have a maximum of two days to turn your assignment in. However, there is a penalty of 10 points (out of a 100 points) per day. Your assignment is one day late until the midnight of the day after it is due, two days late from then until midnight of the second day. If you still have not finished your assignment after two days, see me and discuss your particular situation. We may still accept your assignment (with a late penalty) if you have a compelling case. You have no extensions on the Tutorial Exercises from Live Lab and Coding Bat.
Specific grading criteria vary on each assignment. However, in general, programs that do not run correctly on the CS Lab configuration will receive no more than 80% of the possible points. Other point deductions are given for such things as: incorrect results, missing features, bad solution logic, etc. No matter what configuration of software that you have on your home computer, the assignment that is turned in must run successfully on the CS Lab configuration in order to be graded. Here is the general grading critera for programming assignments.
Always make a backup copy of the Python 3 source code (i.e. the .py file) on a removable secondary storage device (e.g. a flash drive). This will be necessary in cases where your program gets lost, is corrupted, or if there is some dispute over what was turned in when.
For assigned programs, the source code (.py file) must be turned in. The source code must be a text file that can be run through a Python 3 interpreter. Word processing files (those created with Microsoft Word, for example, and ending with .doc extension ) will not be accepted.
If you want us to debug your program, come to us during our office hours with your laptop and we will go through the program with you. Do NOT just e-mail the program to us for debugging. We will not respond to e-mails that have full length programs that have to be debugged.
Grade Dispute: You have one week from the date the assignment grade is posted to dispute your grade. The student assistants will be grading the assignments. Send the student assistants an e-mail and see if you can resolve your differences. If you cannot resolve your differences, you may send me an e-mail explaining the situation. We will not entertain any grade disputes after one week.
Assignment Identification: All assignments must be submitted with the proper header, containing your name (as registered), your unique section number, and the assignment number at the top of the assignment. The format for the header will be specified in the assignment. That specification will over-ride any other header specification.
In addition, because assignments are submitted as files to Canvas, they must have the correct file name, which will be specified in the assignment handout. The file name is case sensitive. You must also ensure that you turn in the assignment to the correct unique section folder - that is, the section you are currently registered in. Lost assignments are typically caused by turning in an incorrect file name and/or turning a file into the wrong section folder. Assignments, which omit the header or are incorrect in any one or more of these requirements, will have the grade reduced by 5% of the maximum grade.
We will be working on the exercises posted on Live Lab and Coding Bat. Instructions on creating an account on Live Lab and Coding Bat will be given to you later. Do not create accounts right now.
We will be having quizzes regularly throughout the semester. The quizzes will be administered at the beginning of class using iClickers. The quizzes will start after the end of the add / drop period, i.e. after 20 Jan 2017. There are no make-up quizzes. We will drop your lowest two quiz grades.
There will be three tests and no final examination. The three tests will be during class periods.
Make-up tests will be given only for the following reasons. In all cases you must provide some form of documentation.
Questions concerning test grades should be given to me in writing along with your test within the next class day that the test is handed back. We will not entertain any disputes after that time.
The weighted average and your final grade is computed based solely on your performance through out the semester on the quizzes, tutorial exercises, programming assignments, and tests. There is no weight given on the number of hours that you have studied or the number of hours you worked outside of class.
We will be using Piazza for general discussion of class related questions rather than the discussion board on Canvas. Please do not post solutions to any problems on Piazza.
Helping a friend understand the intent of a homework or programming assignment specification is permitted. Students who are not pair programmers and who work together too closely (e.g. design their solution together) should be aware that this is a form of cheating called COLLUSION and is subject to academic penalties. Penalties for academic misconduct include a failing grade in this course.
The homework, programs, and exams must be the work of students turning them in. University policy (see Dean of Students' policies on academic integrity) will be followed strictly. We will be running a sophisticated program on all submitted assignments to detect plagiarism. If we do detect any cases of academic dishonesty, we will assign a grade of F to all students involved and refer the cases to the Dean of Students.
Acts that exceed the bounds defined by the approved collaboration practices will be considered cheating. Such acts include:
Students with disabilities who need special accommodations should contact the Services for Students with Disabilities (SSD) Office (471-6259 or 471-4641 TTY).