- Taught at Tennessee Technological University for a
year after graduation from other UT
- Worked at small software engineering company in
Knoxville for several years
- Lecturer at UT-Austin since 2000
to Succeed in CS 305j
"I would like to offer some advice about how you can best learn [this
subject]. You will learn the most by actively working exercises. I
suggest that you solve as many as you possibly can. After working the
exercises your instructor has
assigned, I encourage you to solve additional exercises..."
-- Kenneth H. Rosen, in foreword of his textbook Discrete Mathematics and Its
"The key question to keep asking is,
Are you spending your time on the right things? Because time is all you have."
-- Randy Pausch, The Last Lecture
- Do the exercises, rework the examples and take your own
- You cannot learn to program by just listening in
class and reading the text!
- Don't just look at the exercises - do them.
- Ask for help:
- instructor, TAs, proctors, tutors
- other students (not on programming assignments!)
- Run the code examples yourself
- Experiment. Change Things. Break the Code!
- Come to Class. Pay Attention. Participate.
- Study regularly - most will need to invest at least
6-10 hours a week outside of class.
- Do the reading assignments.
- Start programming assignments early - most of your
learning comes from working on programming assignments and other
- Do the practice problems. Do the Javabat and Practice-It exercises.
- Get to know your classmates. Talk to them about the
course material and study with them.
- Come to office hours. The TAs, proctors and I will all
hold our office hours in the elements lab, PAI 5.38 (though you may
sometimes have to look for me in the conference room next door)
CS 305j: A First Course in Computation
What Do We Cover?
- Solving problems with computers
- Creating algorithms to solve problems
- Implementing our algorithms in computer programs
- We will use the Java programming language
- The programming language is not so important - in other CS classes, you will use other languages
CS 305j Prerequisites
- Formal prerequisite: Precalculus
- I assume you have basic computer skills:
- find a file on a computer
- navigate the web
- install programs on your computer
- I assume that you have NEVER, EVER written a computer program
Course Materials and Procedures
- This is very important!
- If this is your first semester in college, you may be
surprised at how much responsibility is placed on you for knowing what
to do in a class.
- Read the information on the course webpage and the syllabus carefully, so that you know what is expected in this class.
- most class materials are on website: software
information, class schedule, assignments, study materials, link to
- schedule of class topics
- reading assignments
- links to in-class slides
- discussion meeting assignments
- very important
- like a contract between instructor and students
- class policies
- reading assignments and practice problems
- MWF with instructor
- Q&A in class, not just lecture
- NO open laptops in lecture
- discussion section
- with teaching assistant on Tuesdays
- Q&A on assignments
- practice problems
- quizzes very likely
- discussion board
- sign up for discussion board immediately (link on course webpage)
- post questions about class procedures and material
- answer classmates' questions
- announcements from me
- NO chunks of code are allowed on board
- see assignment page for guidelines
- creating problem solutions using Java
- writing complete Java programs
- usually done individually (sometimes with a partner, as indicated in assignment description)
- individual assignments must be done alone
- Sharing solution code is cheating --> F in course
- graded by TA or proctor
- scores posted on egradebook
- two midterms and a final exam
- study materials posted on class webpage
- scores posted on egradebook
- lab accounts
- request an account ASAP - see syllabus for instructions
- turn in programming assignments via the turnin program
- slip days