Fact Sheet

ICS-46: Data Structure Implementation and Analysis

Instructor Information

InstructorRichard Pattis
AIM Handlerichardepattis
Office Location    DBH 4062 (Bren Hall)
Office Phone (949) 824-2704 (but email is better)
Office Hours Mon  12:00pm - 1:00pm and 3:00 pm - 4:00pm
Tues  12:00pm - 2:00pm
Wed  12:00pm - 1:00pm and 3:00 pm - 4:00pm
Thr None
Fri  12:00pm - 1:00pm

Quotes Relevant to Learning in this Class: I'll encourage you to learn and point the way (but you have to engage).
Rich Pattis
Learning results from what the student does and thinks, and only from what the student does and thinks. The teacher can advance learning only by influencing the student to learn. - Herbert Simon

[T-Shirt version: I can explain it for you, but I cannot understand it for you.]

We don't have much time, so we don't teach them; we acquaint them with things that they can learn. - Charles Leiserson

[Like previewing a route on a map, then sending out students to explore the terrain.]

Staff Information

Charles Zhu
Yu Liu
Twaha Ibrahim
Graduate Reader

Andrew Chio
Undergrad Reader
Adrian Padua
Undergrad Reader
Vikki Pang
Undergrad Reader

Justin Chung
Vatsal Rustagi

Course Help

Instructor Office Hours: Please feel free to drop by any time during my office hours, without an appointment (these are open office hours). I cannot provide much debugging help if there are many students waiting to see me (better to see a TA/Lab tutor for debugging help). If you cannot make any of these times and want to schedule an appointment at some other time, e-mail me to arrange one (or, if the question is small, just send me e-mail asking it).

Instructor Email: I answer e-mail periodically throughout the day (from about 6:30am to 10:00pm). If you have a question that would be of interest to the entire class, please post it on the appropriate MessageBoard Forum (see below).

Instructor Online Hours: I will hold online evening office hours every weekday evening before our class meets (Monday-Thursday, 9:00pm to 10:00pm) where I am reachable by by AIM handle richardepattis.

MessageBoard Forums: I have created a Message Board for this class and started five MessageBoard Forums. I prefer students ask questions on these Forums, so that everyone (staff and other students) can see the questions and everyone can participate in answering the questions (and exploring the answers). I expect students to read these Message Boards regularly to keep current on their discussions. Avoid duplicate posts: before posting, first check whether another student has already posted on that topic. When you do post a question, choose a clear, specific and descriptive title.

  1. C++ and CLion: Ask/answer/discuss questions about the C++ Programming Language, the CLion Integrated Development Environment, or how to use them together.

  2. Lecture Material: Ask/answer/discuss questions about the readings and the materials discussed in class.

  3. Quizzes and Exams: Ask/answer/discuss questions about the quizzes and exams (written and programming). DO NOT post solutions or any code, but feel free to ask about/discuss all other aspects of the quizzes and exams (including asking for clarification, input/output examples, etc: be specific).

  4. Programming Assignments: Ask/answer/discuss questions about the programming assignments: specification, relevant C++, etc. DO NOT post solutions or any code, but feel free to ask about/discuss all other aspects of the programming assignments (including asking for clarification, input/output examples, etc: be specific).

  5. Find Programming Partners: Find a programming partner. Relevant information is your Lab (partners should at least have labs meeting at the same time), approximate skill level (best to match with someone your own level), work habits (e.g., prefer to work days, evenings, weekends; do/don't want to work early to get extra for early submissions), preferred location to work (if your dorm/home, say where that is), ...
Feel free to ask questions and answer other students' questions on these forums (subject to the prohibition of posting code for Quizzes and Exams and Programming Assignments) I will read all Forums early every morning and answer all unresolved questions. Before you post a question, check whether that question has already been asked; if it hasn't, choose the title line carefully.

In past quarters, the message board/forum mechanism have seen a good amount of traffic: course material has been clarified, questions have been asked and answered, and many interesting discussions have ensued. But the efficacy of these discussions depends on your participation. If the need for other forums arise, I will create them: feel free to suggest other forums to me.

Course Email: The instructor, staff, and all students registered for the course can send email to everyone else by emailing the address ics46-F17@classes.uci.edu. All messages sent via this email address will be archived on the Email Archive As the instructor, I will frequently use this mechanism to broadcast timely information to all the students. Students should use this email address more selectively: mostly you should be using the forums mentioned above to ask questions, so all students can see your questions/comments and participate in the discussion. One reasonable student use of this email list is to send email if Checkmate (the program submission system) appears to be down; by sending class email on this topic, I will learn about the problem, other students in the class will learn about the proble, and everyone will know I know about the problem. In such a case (when I bring Checkmate back up), I'll send a follow-up email message to everyone.

Finally, remember to read the Announcements link daily, on the course web; I tend to post long-lived information here, rather than via the forums or email.

Lecture/Lab Meeting Places and Times: (see Andrew Chio for Googletest regrading)

Lecture/Lab(s) Classroom Staff Days Start Stop
Lecture EH 1200 Rich Pattis MWF 11:00 am 11:50 am
Common Lab 1 ICS2 100 Twaha Ibrahim MW 12:00 pm 2:00 pm
Common Lab 2 ICS2 100 Yu Liu MW 2:00 pm 4:00 pm
Common Lab 3 ICS2 100 Vatsal Rustagi MW 4:00 pm 6:00 pm
Common Lab 4 ICS2 100 Not staffed as of 10/16 MW 6:00 pm 8:00 pm
Common Lab 5 ICS2 100 Andrew Chio (note Tuesday ONLY) Tu 10:00 am 12:00 pm
Common Lab 6 ICS2 100 Vickki Pang TuTh 12:00 pm 2:00 pm
Common Lab 7 ICS2 100 Charles Zhu TuTh 2:00 pm 4:00 pm
Common Lab 8 ICS2 100 Justin Chung TuTh 4:00 pm 6:00 pm
Common Lab 9 ICS2 100 Adrian Padua TuTh 6:00 pm 8:00 pm
Common Lab 10 ICS2 100 Andrew Chio (note Wednesday ONLY) W 9:00 am 11:00 am

It is well known (but often underappreciated) fact that consistent attendence of lectures labs is strongly correlated with good course performance; therefore, I expect all my students to attend lectures regularly. Plan on arriving punctually -I may make important announcements at the start of a class- paying attention, and treating your classmates with respect.

If you do miss a class, your first point of contact should be other students who attended the class to determine what you missed and how you can catch up (see the course web too). One of the most "bewildering" questions faculty hear is, "I missed class yesterday; did you say or do anything important?"

Bottom Line

As a lecturer at UCI, my primary responsiblity is teaching; my primary activities are preparing course materials, teaching in class, interacting with students (in class, during [online] office hours, on MessageBoard Forums) and grading.