Presentation is loading. Please wait.

Presentation is loading. Please wait.

CSSE221: Software Dev. Honors Day 30 Announcements Announcements Minor in CS? Minor in CS? New test driver code available for both the basic and enhanced.

Similar presentations


Presentation on theme: "CSSE221: Software Dev. Honors Day 30 Announcements Announcements Minor in CS? Minor in CS? New test driver code available for both the basic and enhanced."— Presentation transcript:

1 CSSE221: Software Dev. Honors Day 30 Announcements Announcements Minor in CS? Minor in CS? New test driver code available for both the basic and enhanced linked lists. New test driver code available for both the basic and enhanced linked lists. checkScript.c on Angel annc, then delete the old driver – or rename its main to something else (can’t have 2 mains) checkScript.c on Angel annc, then delete the old driver – or rename its main to something else (can’t have 2 mains) C quizzes returned C quizzes returned All C Projects due tomorrow night, 11:59 pm All C Projects due tomorrow night, 11:59 pm Final Exam next Monday, 6-10 pm, here. Final Exam next Monday, 6-10 pm, here. Grades: Grades: Will move daily quizzes to separate section, so can drop lowest. Will move daily quizzes to separate section, so can drop lowest. Grade may have changed: lots entered recently, still more to come Grade may have changed: lots entered recently, still more to come Any questions or comments? Any questions or comments?

2 Minoring in CSSE Enjoyed this class? Enjoyed this class? Is your primary interest outside of CSSE, but wondering how you can do more computing? Is your primary interest outside of CSSE, but wondering how you can do more computing? Then listen to Jonathan Rogers (ME major/CS minor)… Then listen to Jonathan Rogers (ME major/CS minor)… You are already 2/7 of the way there (3/7 for those with AB credit) You are already 2/7 of the way there (3/7 for those with AB credit)

3 Courses on the horizon CS MINOR CSSE230: Data Structures and Algorithm Analysis (S) CSSE432: Networks (S) CSSE/MA325: Fractals (S; with DE2) CSSE241: Computing in a Global Soc. (F) CSSE413: AI (F) CSSE351: Graphics (F; with DE1) CSSE481: Web-based info (w/ 230) CSSE461: Computer Vision (w/ DE1) CSSE463: Image Recognition (w/ DE1) With MA275: CSSE333: Databases (W, w/230) CSSE304: Prog Lang Concepts (S, 230) CSSE/MA479: Cryptography (S) With ECE130: CSSE232: Computer Architecture CSSE332: Operating Systems SE MINOR CSSE230: Data Structures and Algorithm Analysis CSSE 371 Software Requirements and Specification CSSE 372 Software Project Management CSSE 374 Software Architecture and Design CSSE 375 Software Construction and Evolution CSSE 376 Software Quality Assurance CSSE 377 Software Architecture and Design II With MA275: CSSE 373 Formal Methods in Specification and Design

4 SVN in Future I will blow away the public repository and all your team repositories sometime before I teach 221 again, so as to start with a clean slate (in actuality, I plan to archive everything). I will blow away the public repository and all your team repositories sometime before I teach 221 again, so as to start with a clean slate (in actuality, I plan to archive everything). However, I will leave your personal repository, so you can use for other classes. However, I will leave your personal repository, so you can use for other classes. (You can also request by email to keep team repos.) (You can also request by email to keep team repos.) Furthermore, you can ask a CS prof to make you an SVN repos for any other team at any time Furthermore, you can ask a CS prof to make you an SVN repos for any other team at any time Last year, I made one for an ME senior project Last year, I made one for an ME senior project

5 This week: More C Monday: Monday: Strings in C (capsule) Strings in C (capsule) Tuesday: Tuesday: Linked list implementation in C Linked list implementation in C Thursday: Thursday: Opportunity for questions about final exam Opportunity for questions about final exam Course evaluations Course evaluations Wrap-up C unit Wrap-up C unit

6 Final Exam Same rules as previous exams: Same rules as previous exams: A closed-resource portion A closed-resource portion 2 sides of 8.5x11 paper with handwritten notes allowed 2 sides of 8.5x11 paper with handwritten notes allowed Part may possibly be on Angel. Part may possibly be on Angel. An open-resource version An open-resource version Coding C in your IDE Coding C in your IDE

7 Topics Heavy emphasis: 1. Data structures 1. Arrays, Lists, Stacks, Queues, Sets, Maps, and PriQueues 2. Sorting (4 methods) and searching (seq. and binary) 3. Big-oh efficiency 1. loops 2. data struct operations 3. sorting and searching 4. using sorted data 4. Recursion 1. Tail recursion 5. C language 6. Linked Lists Other things you should know. It’s a comprehensive exam, so everything is fair game: 1. Unit testing 2. UML 3. Functors 4. Inheritance and polymorphism 5. Generics 6. Iterators 7. Threads and animation 8. GUIs 9. File I/O

8 Live Coding Will be all in C Will be all in C Approximately 25-35% of the exam Approximately 25-35% of the exam Lots of linked lists Lots of linked lists Some strings Some strings Recursion (perhaps on a linked list or with strings?) Recursion (perhaps on a linked list or with strings?)

9 Questions?

10 A Bit About Course Evaluations For students to provide useful feedback to the instructor about a course about their learning For students to provide useful feedback to the instructor about a course about their learning Encouragement Encouragement Constructive criticism Constructive criticism Used heavily to evaluate of promotion, tenure and retention of faculty Used heavily to evaluate of promotion, tenure and retention of faculty Please be thoughtful and professional Please be thoughtful and professional

11 Encouragement “The term project was excellent as it allowed students to persue topics of interest under the professor's guidance.” “The term project was excellent as it allowed students to persue topics of interest under the professor's guidance.” “The professor demanded a lot of the students but met their demands fully in return, leaving little room for complaint. The way the class was set up made it difficult to just 'get by' without learning the material or leanign on others, …” “The professor demanded a lot of the students but met their demands fully in return, leaving little room for complaint. The way the class was set up made it difficult to just 'get by' without learning the material or leanign on others, …”

12 Constructive Criticism “start the final project a week earlier giving us more time to work on it out of class and give us 1 less week of class time to work on it. this would allow for another week of teaching and the material for that week could come from peoples projects to help them understand a part that they are stuck on.” “start the final project a week earlier giving us more time to work on it out of class and give us 1 less week of class time to work on it. this would allow for another week of teaching and the material for that week could come from peoples projects to help them understand a part that they are stuck on.” “Also, having three different things (Test, homework, programming assignment) to do/due in the span of one or two days could get extremely crazy.” “Also, having three different things (Test, homework, programming assignment) to do/due in the span of one or two days could get extremely crazy.”

13 Non-helpful feedback Strengths of the course? Strengths of the course? “It is in my major, I thoroughly enjoyed it.” “It is in my major, I thoroughly enjoyed it.” Suggestions for improvement? Suggestions for improvement? “The professor’s hair sticks up funny in the back” “The professor’s hair sticks up funny in the back” “Less induction” “Less induction”

14 Humor “Certain topics we learned required a long drawn out boring proof and mathematical work on the white board, and that's what Dr. Boutell did.” “Certain topics we learned required a long drawn out boring proof and mathematical work on the white board, and that's what Dr. Boutell did.”

15 Witty Feedback He's a solid prof. And he's still got a passion for teaching. He hasn't been broken by student apathy, and still believes we enjoy doing homework. We like him for that. He's a solid prof. And he's still got a passion for teaching. He hasn't been broken by student apathy, and still believes we enjoy doing homework. We like him for that.

16 Course Evaluations Do them now on Banner Web Do them now on Banner Web Then take a break Then take a break Then you have time to work on linked lists. Then you have time to work on linked lists. When I get back, well start with answering questions you have. When I get back, well start with answering questions you have.

17 Questions on Basic LinkedLists? Have you handled all 3 cases (empty list, 1-node list, and 2+ node list) in each function? Have you handled all 3 cases (empty list, 1-node list, and 2+ node list) in each function? Use the test script to find out Use the test script to find out Have you freed every node you’ve deleted? Have you freed every node you’ve deleted? Do a quick visual check of all your delete functions. Do a quick visual check of all your delete functions.

18 Eliminating Special Cases Header and trailer nodes: Header and trailer nodes: Header: an extra node at the beginning of the linked list implementation that points to the node containing the first List item. The contents of the header node are not part of the List. This is stored in the list instead of “first” Header: an extra node at the beginning of the linked list implementation that points to the node containing the first List item. The contents of the header node are not part of the List. This is stored in the list instead of “first” Trailer: an extra node at the back of the list, for symmetry in doubly-linked lists. Trailer: an extra node at the back of the list, for symmetry in doubly-linked lists. Thus there are two nodes in the representation of the empty list, three nodes in the representation of a one-element list, etc. Thus there are two nodes in the representation of the empty list, three nodes in the representation of a one-element list, etc.

19 An enhanced version Once you are done, you should check out the LinkedListEnhanced project. It includes the following enhancements: Once you are done, you should check out the LinkedListEnhanced project. It includes the following enhancements: Doubly-linked Doubly-linked Dummy nodes (header and trailer) to remove special cases. Dummy nodes (header and trailer) to remove special cases. Size field to make getSize a constant-time operation. Size field to make getSize a constant-time operation.

20 Some hints Say you are iterating through the list until you hit the trailer node, looking for a value to delete. Say you are iterating through the list until you hit the trailer node, looking for a value to delete. Don’t use: Don’t use: while (curr->data != -1) Why not? Why not? Instead, use: Instead, use: while (curr != list->trailer) while (curr != list->trailer) Why? What is this checking? Why? What is this checking? And on recursion, you might need to check if curr->next == NULL And on recursion, you might need to check if curr->next == NULL

21 Have a great weekend! May next Monday be a strong finish to a great term! May next Monday be a strong finish to a great term!


Download ppt "CSSE221: Software Dev. Honors Day 30 Announcements Announcements Minor in CS? Minor in CS? New test driver code available for both the basic and enhanced."

Similar presentations


Ads by Google