CS302: Computer Fluency

Syllabus for Fall 2018

Course Description

Computer Science is transforming virtually all aspects of our lives, and the digital revolution is still in its infancy. In this class, you will learn the core concepts of Computer Science. We will start with algorithms – the methodical instructions that tell computers what to do – and computer programming, in Python, to implement them. To better understand how computers work, you will learn to design electrical circuits that carry out the programming constructs in Python. Then, we will explore some of the Computer Science topics having the most impact today, including networks, the "internet of things", computer security, artificial intelligence and machine learning. Lastly, we will examine the social impacts of the digital revolution, from the birth of billion-dollar industries to concerns about privacy, autonomous systems and the loss of jobs.

Teaching Staff

Professor: Bruce Porter, porter@cs.utexas.edu, GDC 3.704, (512)471-9565

Teaching Assistants:

Office Hours

Bruce Porter Tuesday 10:00-11:00 and Thursday 1:30-2:30 GDC 3.704
Zach Burky Friday 3:00-4:00 Location: GDC 1.302
Tom Gong Thursday 11:00-12:00 Location: GDC 1.302
David Huang Monday 1:00-2:00 Location: GDC 1.302
Ann Yue Wednesday 12:00-1:00 Location: GDC 1.302

Other times by appointment.

Textbooks and Supplies

No textbook is required for the class. On-line materials will be used throughout the semester. Some students might prefer having a textbook to help with the computer programming assignments. There are many good books on introductory programming with Python, such as: Starting Out with Python by Tony Gaddis.

Class Schedule

The class meets three times each week and you're expected to attend. On Mondays and Wednesdays, we meet together in GDC 2.216. On Fridays, we meet in small discussion sections, which are scheduled as follows:

9:00-9:50 GDC 6.202 Ann Yue
10:00-10:50 GDC 6.202 Ann Yue
11:00-11:50 SAC 5.102 David Huang
12:00-12:50 GDC 2.210 Zach Burky
1:00-1:50 GDC 2.210 Tom Gong
2:00-2:50 GDC 1.406 Zach Burky
The Friday sessions are very important – don't skip them. Please attend the discussion section in which you are registered. Attending a different section is risky because space is limited and priority will be given to registered students.


Although we might adjust the schedule of topics during the semester, here's the current plan:

8/27   algorithms algorithms
9/3 Labor Day algorithms algorithms
9/10 algorithms algorithms algorithms
9/17 algorithms EXAM 1 exam review
9/24 programming programming programming
10/1 programming programming programming
10/8 programming programming programming
10/15 EXAM 2 circuit design circuit design
10/22 circuit design circuit design circuit design
10/29 Internet Internet Internet
11/5 security security security
11/12 artificial intelligence AI & Robotics artificial intelligence
11/19 machine learning holiday holiday
11/26 autonomous vehicles EXAM 3 team project
12/3 social impacts social impacts team project
12/10 DUE: team project    


Final grades (using the plus-minus grading system) will be assigned based on the following:

You may feel that you're spending a lot of time on the assignments, given the small amount that each contributes to your grade. However, be aware that the best way to prepare for the exams, and to complete your team project, is to do well on the assignments. Each assignment will have a deadline. Late submissions will not be accepted.

Quantitative Reasoning Flag

This course carries the Quantitative Reasoning flag. Quantitative Reasoning courses are designed to equip you with skills that are necessary for understanding the types of quantitative arguments you will regularly encounter in your adult and professional life. You should therefore expect a substantial portion of your grade to come from your use of quantitative skills to analyze real-world problems.

Staying in Touch

The class will be using Canvas. Announcements, assignments and course materials will be posted there frequently. You're responsible for visiting the site frequently to keep up.


The assignments must be done individually, except when group work has been approved. Here are the policies of the UT Computer Science Department and this class. If you cheat, you fail.