State of CSI Mikhail Nesterenko CS Faculty Retreat

  • Slides: 13
Download presentation
State of CSI Mikhail Nesterenko CS Faculty Retreat May 3, 2013

State of CSI Mikhail Nesterenko CS Faculty Retreat May 3, 2013

Outline • • student performance data challenges and philosophy organization evaluation topics components –

Outline • • student performance data challenges and philosophy organization evaluation topics components – lab – lecture recent changes and future trends 2

Student Performance, Long Term Success Rate grade C above 100. 0% 90. 0% 80.

Student Performance, Long Term Success Rate grade C above 100. 0% 90. 0% 80. 0% 74. 7% 70. 0% 62. 5% 60. 0% 56. 8% 74. 3% 72. 0% 57. 8% 55. 6% 58. 8% 55. 3% 51. 1% 50. 0% 56. 8% 51. 7% 45. 7% 43. 3% 43. 4% 40. 0% 36. 1% 40. 0% 62. 9% 62. 0% 72. 5% 30. 0% no discernible pattern or trend the “usual” success rate is approx. 55 -60% 20. 0% 10. 0% S 02 F 02 S 03 F 03 S 04 F 04 S 05 F 05 S 06 F 06 S 07 F 07 S 07 F 08 S 09 F 09 S 10 F 10 S 11 F 11 S 12 F 12 taught by Mikhail 3

Student Performance, Recent Success Rate 100. 0% dummy 90. 0% succeeded 80. 0% 70.

Student Performance, Recent Success Rate 100. 0% dummy 90. 0% succeeded 80. 0% 70. 0% accumulation of repeat students depressed rate? F/W/dropped 36. 1% 38. 5% C-/D C+/C 55. 7% B+/B/B- 60. 0% 13. 2% 18. 1% 50. 0% 2. 8% 40. 0% 30. 0% 45. 8% 6. 6% 48. 4% backup lab instructors introduced, rate improved? 9. 8% 6. 6% 34. 4% 15. 3% 18. 7% 8. 2% 20. 0% 27. 8% 10. 0% 23. 1% 19. 7% success rate is smaller than in prev. slide since students who dropped the course in the first 2 weeks are considered 0. 0% Spring 12 Fall 12 Spring 13 (projected) 4

Setup and Challenges organization • 4 – 6 sections of up 20 students (50

Setup and Challenges organization • 4 – 6 sections of up 20 students (50 -90 students) – 2 lectures + 1 lab session a week (lecture session combined, separate lab session for each section) • 1 lecturer + 2 -3 TAs – TA conducts labs in 2 sections, backs up two more sections, grades labs, quizzes challenges • diverse background of incoming students – some straight from high school: may lack work ethics, motivation, discipline; some took AP programming courses in college – evening section: may be distracted by work/family obligations, some may have programming experience at work, possibly in a different language • need to keep everyone interested, accommodate different learning styles • need to ensure uniform set of basic learned skills 5

Evaluation • • 2 exams (midterm, final) 100 points each, non-cumulative graded by lecturer

Evaluation • • 2 exams (midterm, final) 100 points each, non-cumulative graded by lecturer 4 quizzes (worst score dropped to eliminate need for makeups) – 10 points each 13 labs – 10 points each graded by TA participation (or extra project) – 10 points 2. 7% grade weight exams 35. 1% quizzes 54. 1% labs participation 8. 1% reasons • large exam weight – keeps semester grade under control of instructor, makes it more consistent • TAs grade labs differently, students may get help doing labs should not weigh heavily • participation – keeps students engaged during lectures • quizzes – easy to grade, keeps students on track with studies between tests • a person finishing with C should be proficient enough to succeed in CSII • note that this C may be obtained through labs or exam have to balance the weight 6

Topics • basic, covered by a lab, students need to have “hands on” proficiency

Topics • basic, covered by a lab, students need to have “hands on” proficiency 1. First Program 2. Branching 3. Looping 4. Predefined Functions 5. Programmer-Defined Functions, Call-by-Value, Multiple Files 6. Call-by-Reference, Arrays 7. Strings, File I/O 8. Structures 9. Classes 10. Pointers, Dynamic Memory Allocation 11. Objects with Dynamically Allocated Members (constructor, destructor, copy constr. ) 12. Vectors 13. Multdimentional Arrays, Vectors of Vectors • come at end of semester (due to grading delay), need to have “heard of” proficiency – recursion – namespaces – diagrams (UML), automatic code documentation systems 7

Organization – lecture quickly followed by a lab then individual work • lab assignment

Organization – lecture quickly followed by a lab then individual work • lab assignment is such that it is often not done in lab time – have to be finished at home – two lectures + one lab per week • first lecture introduces topic • lab backs it up • second lecture reviews • the “home” part of the lab completes the cycle – each component is important • missed lecture – have to repeat to each student at the lab • “overcoached” lab assignment – no learning – additional tools : mailing list with archive (forward answers to student questions there), slides, program examples, lab assignments are on the web 8

Lab • • Windows, Visual Studio IDE, one lab in Unix&g++, code submitted to

Lab • • Windows, Visual Studio IDE, one lab in Unix&g++, code submitted to repository – we encourage to set up tools at home for individual work. Half the students come to lab with own laptops lab attendance – 2 points lab deadline – 1 week (first 7, “easy” labs 2 points off after 4 days) lab assignment is on the web, opened a week in advance (students may study or attempt it before lab) assignment (e. g. programmer defined functions) usually contains two parts 1. basic part (e. g. code BMR for a man/woman – simple formula – and calculate number of doughnuts to be consumed). Basic part contains explanation of IDE feature (e. g. observing program stack). Students have to learn and demo to lab instructor (for participation points) 2. extended part (e. g. a menu of functions printing geometric shapes) – assignment usually contains references to code examples studied in class, hints and pseudocode lab starts with lead TA explaining the lab assignment, then both TAs start helping students weekly meetings with TAs to introduce the next lab, get their feedback on previous. Good idea to have TAs code the lab – might be helpful for lecture inst. to attend one lab session per week to gauge performance 9

Lectures • • first lecture - new material – explain material with slides –

Lectures • • first lecture - new material – explain material with slides – demonstrate with examples in Visual Studio – time allows – explain the lab second lecture – material review – questions on slides – examples on the board – more detailed discussion of the lab 10

Participation • issues – students tune out during lecture if not engaged – understanding

Participation • issues – students tune out during lecture if not engaged – understanding varies by semester, need feedback – students skip lecture simply asking students engages only a few better performing ones • each lecture has a slide with a list of simple questions • put up on next (review) lecture • go through all students using cards – if answer – give plus – if not – skip successful answers scaled to 10 points at end of semester • motto: students who show up for most classes and answer most questions get full credit • 11

Recent Changes and Trends • this semester’s changes – Multidimensional Array/Vectors of Vectors lecture/lab

Recent Changes and Trends • this semester’s changes – Multidimensional Array/Vectors of Vectors lecture/lab replaced Exceptions – more appropriate for CSI – removed Bit Manipulation lecture – replaced with documentation/diagrams – more appropriate for CSI – removed Abstraction, Stubs/Wrappers lecture – replaced with basic materials review – provided sample midterm exam – improved exam preparation, had to rewrite midterm – added a part to Parameter Passing lab that uses swap() function – good illustration of pass-by-value (important concept) – added pointer & iterator arithmetic other: standardized, streamlined and corrected labs, lectures, slides; changed labs a bit to eliminate code reuse from previous semesters • longer- term trend – move towards focusing and drilling specific basic tasks – in effect the same skill, say nested loops, is taught then practiced then tested on – more students succeed and learn basic programming skills – students learn less of critical thinking, independent problem solving (burden shifts to downstream courses) 12

Future Changes and Wish List next semester • switch all examples to pre-increment (recent

Future Changes and Wish List next semester • switch all examples to pre-increment (recent style); import specific names from std rather than using namespace std; • start coordinating midterm and that week’s lab – to smooth load • cover incremental code development, use structures/classes lab to illustrate it – simplifies harder labs • fold Namespace material into blocks/scopes lecture wish list • would be nice to have two midterms but too much grading • crate a list of programming techniques to be trained (e. g. nesting loops, finding minima, loop with break in the middle) and reorganize lectures/labs around them • replace the textbook: Savitch is wordy, has some awkward code, no-self study questions 13