CSC 281 Automata and Algorithms Spring 2009 Instructor/Guide: Dr. Jeffrey J. McConnell mcconnel@canisius.edu cs.canisius.edu/~mcconnel WTC 207A 888-2434 (Secretary: 2430) Office Hours: MR 1:00 pm 4:00 pm, T 3:00 pm 4:00 pm, and W 2:00 pm 4:00 pm Textbooks: Analysis of Algorithms: An Active Learning Approach (Second Edition) by Jeffrey J. McConnell (Jones & Bartlett, 2008) Description: The purpose of this course is to introduce students to the formal and theoretical basis for computing. Students will become familiar with the concept of formal languages, grammars and theoretical automata or machines. Students will also learn how to analyze algorithms to compare efficiency and to determine the limits of computation. Prerequisite When starting this course, students should know: Selection statements (if and switch/case) Loops (pre-test, post-test, and counting) Recursion Arrays and linked lists Course Goals At the end of this course, students should be able to: Weight different solutions and explain or argue why a particular choice was made Have an understanding of automata and Turing Machines Be able to develop and analyze algorithms Write a recursive algorithm, a greedy algorithm, a divide and conquer algorithm Student Responsibilities Students in this course should be aware that knowledge of the material will only come with practice. Athletes, musicians, and artists must practice their craft to become good at it. These people work with others sharing ideas, techniques, and hints that they use to be better at what they do. They will work together under a coach, teacher, or mentor who will also make suggestions. But the bottom line is that
they all work. The world is no different for computer scientists. To become good at what you do, you must work with others and practice, with the instructor as your mentor. Students will be expected to read the text before class and are to work homework problems from the text. Students should understand that group work is designed to enhance learning, not replace personal responsibility for learning. You will work in groups during class time to solve problems, so you should try to understand the material before class begins. If you do not read the material, you will have a hard time getting through the in-class exercises. This will be noticeable to the instructor and your group. Students will complete three mini-tests. After taking the three mini-tests as individuals, each group will then take the group mini-test. Students take an all individual work final exam scheduled for the end of the semester. You should also be aware that there will be no make up mini-tests or finals. If you miss a mini-test or final, you will receive zero points. Students will complete an anonymous peer evaluation at the end of the semester that will be used by the instructor for grading. The peer evaluation will be based on how much each group member contributed to the learning process. Doing all of the work and not listening to others is ranked just as badly as doing none of the work and being unprepared. Pedagogy: Students learn more and better when they are active participants in the learning process. Students are also easily bored when the instructor spends the entire class time telling them what they just read in the textbook. For these reasons and many others, active learning is used in this course. Active learning places the burden on the student to prepare before class, since he/she will have to use the material in a class exercise. The result is a positive one for the student, however, since all studies in active learning show that when active learning is used students understand the material better, retain it longer, and are more confident in what they know. Contact with the Professor When students have questions, they are encouraged to contact the professor via phone, email, or by an office visit. Any contact should be of a form that is professional in nature. Specifically, email messages should be clear, precise, and written in full grammatically correct sentences. This is necessary because email messages are prone to misinterpretation. Additionally, email can be used to ask general questions but not specific coding questions. It is impossible to suggest corrections to a program or algorithm via email contact. Additionally, finding and correcting errors in a program or algorithm is an important part of the learning process and will only be done during face-to-face contact. Students should not send code to the instructor via email with the expectation that the instructor will debug the code on his own and return corrected code or suggestions for corrections. Any email messages that attach code for the purposes of debugging will be ignored. Group Work: Some of the work in this course will be group based. I will select groups of students that will remain fixed for the entire semester. All of the group work will be done in the classroom, though it is expected that students will do individual work outside of class as well. Group membership will not be changed at any time during the semester. You should note that a significant part of your grade will be based on individual work. This means that you will need to work with your group to learn the material. Everyone in the group should be asking questions, offering suggestions, and being an active participant in the group. In the past, the groups that have not performed well are ones where a "bright" student does all the work and the others just listen, or where some students are ignored or quiet because they don't understand. If there is one
person in the group who doesn't understand something, it is likely that even those who think they understand don't have it completely correct. Attendance: Attendance will not be taken. However, every member of the group who is present for class will be expected to sign the exercise. If you do not sign, you will not get the credit for that work. This means that if you miss class, your exercise grade will suffer. Furthermore, if you miss class, you will rapidly fall behind in your understanding of the material and your exam grades will suffer as well. Since homework is assigned each class, if you know you will miss class, you should make sure that you turn in your homework before class. Additionally, an excessive amount of lateness or absence will be reflected in your instruction discretion grade. There will be no make-up for any missed work. Allowances will be made for an excused absence when accompanied by a doctor's note or because of a death in the family. Classroom Structure: The class time will be broken up into two parts. The first part (about 45 50 minutes) of the class will be a group activity. The instructor will assign one or more exercises from the text for the group to solve and turn in at the end of the class. During the second part (about 25 30 minutes) the instructor will give a mini-lecture that highlights the key issues or explains those things that are difficult to understand from the material for the next class. This will not cover the entire reading, nor will it explain everything that will be needed for the homework or class exercise. When groups are assigned, the instructor will also assign the roles of recorder (to write the answer), timekeeper (to make sure you finish on time), and moderator (to make sure everyone says something) for every class of the semester. These roles will rotate through the group. At the end of class, each group will turn in its solution, with the names of everyone attending on the provided answer sheets. It is recommended that the recorder for each class write clearly and use a dark pen or pencil, since the instructor will make additional copies for each group member after grading. If the writing is light, the copies will be unreadable. Classroom Behavior All students are expected to be in their groups and ready to work at the start of class. Students are expected to be in class and an active part of their group for the entire class period. All cell phones and pagers are to be turned off during class. Any student who is seen interrupting group work to check messages or answer a call will lose half of the credit for that day s assignment for each occurrence. If you have an emergency that requires you to be contactable, before class begins please ask for permission to have your cell phone or pager turned on but set in vibrate mode. Special Accommodations: If you have any condition, such as a physical or mental disability, which will make it difficult for you to carry out the work of the course, please notify me within the first two weeks of the semester so that we can make the appropriate arrangements. Professional Behavior: Students should recognize that school and work environments are inherently different than that of a group of friends. In your circle of friends, you have chosen those people who have similar views of the
world as your own. You may even choose to associate only with people of the same neighborhood, economic class, race, gender, or religion. In school and work settings, however, you are frequently placed in work groups with a diverse set of people, some of whom may have very different outlooks from you. You, as a professional, must develop a way of working with people who are different from you. You should do this by first respecting differences. You don't have to agree with everything someone else thinks, but you should respect their right to be who they are. When people work together, we should deal with what is said not who is saying it. And when you criticize, you should be critical of ideas not people. But most importantly, you should be careful of your language - what you say and how you say it. The words you use should be appropriate for professional environments - no swearing, no sexual remarks or jokes, and no threats. You should also not say anything that is sexist, racist, ageist, heterosexist, or homophobic. You should not be critical of people because of their physical attributes or because of their choice of religion (or lack thereof). Remember that most people do not appreciate bigoted comments. Extra Credit I do not give extra credit assignments. In the past, when I was asked for extra credit assignments by students needing help with their grades, only the best students, who didn t need the extra credit, completed the additional work. This reduced the overall curve for the class. So, those students lower in the class ranking were hurt because they didn t all do the extra credit and the curve was less. Grades: Students will be evaluated based on their individual and group work. The weights for the final grade are: Group Work (30%) Exercises 10% Group mini-tests 15% Peer evaluation 5% Individual Work (60%) Homework 10% Class mini-tests 30% Final exam 20% Instructor discretion 10% (10%) Note 1: Note 2: The three lowest class exercise and homework grades will be dropped. This means that if you have missed three classes the zeros that you received will not hurt your grade. If you miss less than three classes, some of your lowest exercise grades will not count. This does not mean that three absences are acceptable. The material in this course is highly dependent on earlier work, so any absences will have a serious negative impact on your performance in the course. Homework is due on the date indicated on the schedule of topics. At the very latest, homework should be turned in at the start of the very next class. Since an answer key is distributed with the graded exercises, no homework will be accepted that is more than one class late. There will be no penalty assessed for the first five times that an exercise is turned in one class late. The next five late homework assignments will be assessed a 20% penalty.
Note 3: The penalty will increase by 20% whenever there are five additional late homework assignments. Any student who earns less than 50% of the total credit in any of these areas (except peer evaluation and instructor discretion) will automatically fail the course, no matter what the other grades are. This is to make sure that students do not ignore either the group or individual work and coast through the course on the basis of the other. Letter grades will be assigned as follows (the instructor reserves the right to reduce these percentages): Overall Performance Level Grade at least 93% A at least 90% A- at least 86% B+ at least 83% B at least 80% B- at least 76% C+ at least 73% C at least 70% C- at least 65% D less than 65% F
Schedule of Topics Date Topic Homework 1 Jan. 13 Introduction 2 Jan. 15 Sections 1.1 1.3 pg. 12 #1 pg. 17 #2, 7a 3 Jan. 20 Sections 1.4 1.6 pg. 22 #2a c pg. 26 #1 4 Jan. 22 Sections 2.1 2.3 pg. 34 #1 pg. 41 #2, 5 5 Jan. 27 Sections 2.4 2.6 pg. 53 #1 pg. 55 #1, 4 6 Jan. 29 Sections 3.1 3.3 pg. 64 #1 7 Feb. 3 Sections 4.1 4.2 pg. 83 #1 pg. 88 #1 8 Feb. 5 Mini-Test 1 9 Feb. 10 Sections 4.3 4.4 pg. 94 #3 pg. 98 #1 10 Feb. 12 Sections 4.5 4.6 pg. 106 #1 pg. 113 #1 11 Feb. 19 Sections 4.7 4.8 pg. 119 #1 12 Feb. 24 Sections 5.1 5.3 pg. 137 #1 pg. 145 #2 13 Feb. 26 Sections 6.1 6.2 pg. 155 #3b, 3d pg. 166 #2 14 Mar. 3 Section 6.3 pg. 174 #1a, 1b, 2b, 2c 15 Mar. 5 Mini-Test 2 16 Mar. 10 Sections 6.4 6.5 pg. 180 #1a, 2e pg. 187 #1b 17 Mar. 12 Section 6.6 pg. 199 #1a, 2c, 3, 13 18 Mar. 24 Sections 6.7 6.8 pg. 205 #1a pg. 210 #2 19 Mar. 26 Sections 7.1 7.2 pg. 225 #3a, 4a pg. 229 #1 20 Mar. 31 Sections 8.1 8.3 pg. 236 #6, 8 pg. 244 #1a, 2a 21 Apr. 2 Sections 8.4 8.6 pg. 252 #1a, 2a pg. 257 #1a 22 Apr. 7 Sections 10.1 10.2 pg. 314 #1b, 2b, 3b 23 Apr. 14 Section 10.3 pg. 331 #1, 3b 24 Apr. 16 Mini-Test 3 25 Apr. 21 Sections 10.4 10.5 pg. 337 exercise 26 Apr. 23 Sections 10.6 10.8 pg. 346 #1a, 1e pg. 349 #1a 27 Apr. 28 Section 11.1 11.2 pg. 364 #1 pg. 369 #2 28 Apr. 30 Section 11.3 11.4 pg. 374 #1 pg. 384 #2