csse221: software dev. honors day 30 announcements announcements minor in cs? minor in cs? new test...

20
CSSE221: Software Dev. Honors CSSE221: Software Dev. Honors Day 30 Day 30 Announcements Announcements Minor in CS? Minor in CS? New test driver code available for both the New test driver code available for both the basic and enhanced linked lists. basic and enhanced linked lists. checkScript.c on Angel annc, then delete the old checkScript.c on Angel annc, then delete the old driver – or rename its main to something else driver – or rename its main to something else (can’t have 2 mains) (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 Will move daily quizzes to separate section, so can drop lowest. can drop lowest. Grade may have changed: lots entered recently, Grade may have changed: lots entered recently, still more to come still more to come Any questions or comments? Any questions or comments?

Post on 20-Dec-2015

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 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

CSSE221: Software Dev. Honors CSSE221: Software Dev. Honors Day 30Day 30

AnnouncementsAnnouncements Minor in CS?Minor in CS? New test driver code available for both the basic New test driver code available for both the basic

and enhanced linked lists.and enhanced linked lists. checkScript.c on Angel annc, then delete the old driver – checkScript.c on Angel annc, then delete the old driver –

or rename its main to something else (can’t have 2 or rename its main to something else (can’t have 2 mains)mains)

C quizzes returnedC quizzes returned All C Projects due tomorrow night, 11:59 pmAll 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 Will move daily quizzes to separate section, so can drop lowest.lowest.

Grade may have changed: lots entered recently, still Grade may have changed: lots entered recently, still more to comemore to come

Any questions or comments?Any questions or comments?

Page 2: 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

Minoring in CSSEMinoring in CSSE

Enjoyed this class?Enjoyed this class? Is your primary interest outside of Is your primary interest outside of

CSSE, but wondering how you can CSSE, but wondering how you can do more computing?do more computing?

Then listen to Jonathan Rogers (ME Then listen to Jonathan Rogers (ME major/CS minor)…major/CS minor)…

You are already 2/7 of the way there You are already 2/7 of the way there (3/7 for those with AB credit)(3/7 for those with AB credit)

Page 3: 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

Courses on the horizonCourses on the horizonCS MINORCS MINOR

CSSE230: Data Structures and CSSE230: Data Structures and Algorithm Analysis (S)Algorithm Analysis (S)

CSSE432: Networks (S)CSSE432: Networks (S)CSSE/MA325: Fractals (S; with CSSE/MA325: Fractals (S; with

DE2)DE2)CSSE241: Computing in a Global CSSE241: Computing in a Global

Soc. (F)Soc. (F)CSSE413: AI (F)CSSE413: AI (F)CSSE351: Graphics (F; with DE1)CSSE351: Graphics (F; with DE1)CSSE481: Web-based info (w/ 230)CSSE481: Web-based info (w/ 230)CSSE461: Computer Vision (w/ DE1)CSSE461: Computer Vision (w/ DE1)CSSE463: Image Recognition (w/ CSSE463: Image Recognition (w/

DE1)DE1)With MA275:With MA275:

CSSE333: Databases (W, w/230)CSSE333: Databases (W, w/230)CSSE304: Prog Lang Concepts CSSE304: Prog Lang Concepts (S, 230)(S, 230)CSSE/MA479: Cryptography (S)CSSE/MA479: Cryptography (S)

With ECE130:With ECE130:CSSE232: Computer ArchitectureCSSE232: Computer ArchitectureCSSE332: Operating SystemsCSSE332: Operating Systems

SE MINORSE MINORCSSE230: Data Structures and CSSE230: Data Structures and

Algorithm AnalysisAlgorithm AnalysisCSSE 371 Software CSSE 371 Software

Requirements and Requirements and Specification Specification

CSSE 372 Software Project CSSE 372 Software Project Management Management

CSSE 374 Software Architecture CSSE 374 Software Architecture and Designand Design

CSSE 375 Software CSSE 375 Software Construction and Evolution Construction and Evolution

CSSE 376 Software Quality CSSE 376 Software Quality AssuranceAssurance

CSSE 377 Software Architecture CSSE 377 Software Architecture and Design II and Design II

    With MA275:With MA275:

CSSE 373 Formal Methods in CSSE 373 Formal Methods in Specification and Design Specification and Design

Page 4: 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

SVN in FutureSVN in Future I will blow away the public repository and all I will blow away the public repository and all

your team repositories sometime before I teach your team repositories sometime before I teach 221 again, so as to start with a clean slate (in 221 again, so as to start with a clean slate (in actuality, I plan to archive everything).actuality, I plan to archive everything).

However, I will leave your personal repository, However, I will leave your personal repository, so you can use for other classes.so you can use for other classes.

(You can also request by email to keep team (You can also request by email to keep team repos.)repos.)

Furthermore, you can ask a CS prof to make Furthermore, you can ask a CS prof to make you an SVN repos for any other team at any you an SVN repos for any other team at any timetime Last year, I made one for an ME senior projectLast year, I made one for an ME senior project

Page 5: 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

This week: More CThis week: More C

Monday:Monday: Strings in C (capsule)Strings in C (capsule)

Tuesday:Tuesday: Linked list implementation in CLinked list implementation in C

Thursday:Thursday: Opportunity for questions about Opportunity for questions about

final examfinal exam Course evaluationsCourse evaluations Wrap-up C unitWrap-up C unit

Page 6: 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

Final ExamFinal 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 2 sides of 8.5x11 paper with handwritten notes allowedhandwritten notes allowed

Part may possibly be on Angel.Part may possibly be on Angel. An open-resource versionAn open-resource version

Coding C in your IDECoding C in your IDE

Page 7: 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

TopicsTopicsHeavy emphasis:Heavy emphasis:1.1. Data structuresData structures

1.1. Arrays, Lists, Stacks, Arrays, Lists, Stacks, Queues, Sets, Maps, and Queues, Sets, Maps, and PriQueuesPriQueues

2.2. Sorting (4 methods) and Sorting (4 methods) and searching (seq. and searching (seq. and binary)binary)

3.3. Big-oh efficiencyBig-oh efficiency1.1. loopsloops2.2. data struct operationsdata struct operations3.3. sorting and searchingsorting and searching4.4. using sorted datausing sorted data

4.4. RecursionRecursion1.1. Tail recursionTail recursion

5.5. C languageC language6.6. Linked ListsLinked Lists

Other things you should Other things you should know. It’s a know. It’s a comprehensive exam, comprehensive exam, so everything is fair so everything is fair game:game:

1.1. Unit testingUnit testing2.2. UMLUML3.3. FunctorsFunctors4.4. Inheritance and Inheritance and

polymorphismpolymorphism5.5. GenericsGenerics6.6. IteratorsIterators7.7. Threads and animationThreads and animation8.8. GUIsGUIs9.9. File I/OFile I/O

Page 8: 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

Live CodingLive Coding

Will be all in CWill be all in C Approximately 25-35% of the examApproximately 25-35% of the exam Lots of linked lists Lots of linked lists Some strings Some strings Recursion (perhaps on a linked list or Recursion (perhaps on a linked list or

with strings?)with strings?)

Page 9: 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

Questions?Questions?

Page 10: 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

A Bit About Course A Bit About Course EvaluationsEvaluations

For students to provide useful For students to provide useful feedback to the instructor about a feedback to the instructor about a course about their learningcourse about their learning EncouragementEncouragement Constructive criticismConstructive criticism

Used heavily to evaluate of promotion, Used heavily to evaluate of promotion, tenure and retention of facultytenure and retention of faculty Please be thoughtful and professional Please be thoughtful and professional

Page 11: 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

EncouragementEncouragement

““The term project was excellent as it The term project was excellent as it allowed students to persue topics of allowed students to persue topics of interest under the professor's guidance.”interest under the professor's guidance.”

““The professor demanded a lot of the The professor demanded a lot of the students but met their demands fully in students but met their demands fully in return, leaving little room for complaint. return, leaving little room for complaint. The way the class was set up made it The way the class was set up made it difficult to just 'get by' without learning difficult to just 'get by' without learning the material or leanign on others, …”the material or leanign on others, …”

Page 12: 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

Constructive CriticismConstructive Criticism ““start the final project a week earlier giving start the final project a week earlier giving

us more time to work on it out of class and us more time to work on it out of class and give us 1 less week of class time to work on it. give us 1 less week of class time to work on it. this would allow for another week of teaching this would allow for another week of teaching and the material for that week could come and the material for that week could come from peoples projects to help them from peoples projects to help them understand a part that they are stuck on.”understand a part that they are stuck on.”

““Also, having three different things (Test, Also, having three different things (Test, homework, programming assignment) to homework, programming assignment) to do/due in the span of one or two days could do/due in the span of one or two days could get extremely crazy.”get extremely crazy.”

Page 13: 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

Non-helpful feedbackNon-helpful feedback

Strengths of the course?Strengths of the course? ““It is in my major, I thoroughly enjoyed It is in my major, I thoroughly enjoyed

it.”it.”

Suggestions for improvement?Suggestions for improvement? ““The professor’s hair sticks up funny in The professor’s hair sticks up funny in

the back”the back” ““Less induction” Less induction”

Page 14: 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

HumorHumor

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

Page 15: 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

Witty FeedbackWitty Feedback

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

Page 16: 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

Course EvaluationsCourse Evaluations

Do them now on Banner WebDo them now on Banner Web Then take a breakThen take a break Then you have time to work on Then you have time to work on

linked lists.linked lists. When I get back, well start with When I get back, well start with

answering questions you have.answering questions you have.

Page 17: 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

Questions on Basic Questions on Basic LinkedLists?LinkedLists?

Have you handled all 3 cases (empty Have you handled all 3 cases (empty list, 1-node list, and 2+ node list) in list, 1-node list, and 2+ node list) in each function?each function? Use the test script to find outUse the test script to find out

Have you freed every node you’ve Have you freed every node you’ve deleted?deleted? Do a quick visual check of all your Do a quick visual check of all your

delete functions.delete functions.

Page 18: 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

Eliminating Special Eliminating Special CasesCases

Header and trailer nodes:Header and trailer nodes: HeaderHeader: an extra node at the beginning of : an extra node at the beginning of

the linked list implementation that points to the linked list implementation that points to the node containing the first List item. The the node containing the first List item. The contents of the header node are not part of contents of the header node are not part of the List. This is stored in the list instead of the List. This is stored in the list instead of “first”“first”

TrailerTrailer: an extra node at the back of the : an extra node at the back of the list, for symmetry in doubly-linked lists.list, for symmetry in doubly-linked lists.

Thus there are two nodes in the Thus there are two nodes in the representation of the empty list, three representation of the empty list, three nodes in the representation of a one-nodes in the representation of a one-element list, etc.element list, etc.

Page 19: 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

Some hintsSome hints Say you are iterating through the list until you Say you are iterating through the list until you

hit the trailer node, looking for a value to hit the trailer node, looking for a value to delete.delete.

Don’t use:Don’t use:while (curr->data != -1)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 And on recursion, you might need to check if curr->next == NULLcurr->next == NULL

Page 20: 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

Have a great weekend!Have a great weekend!

May next Monday be a strong finish May next Monday be a strong finish to a great term!to a great term!