Weekly Programs in CS 1: Experiences with Many-Small Auto ...

Weekly Programs in CS 1: Experiences with Many-Small Auto-Graded Programs by Joe Michael Allen, Frank Vahid, Kelly Downey, and Alex Edgcomb Dept. of Computer Science and Engineering University of California, Riverside This work was supported by the U.S. Dept. of Education (GAANN fellowship) and by Google

Problem College-level introductory programming courses (CS 1) have many well-known issues:

High student stress Student dissatisfaction Academic dishonesty Low grades High drop rates Weekly programming assignments form a large part of the students

experience and are a key source of those issues. Traditional 1-large Programming Assignments 1 Programming assignment a week Many concepts Confusion

Traditional 1-large Programming Assignments Example 1) Modify the above program to ask the user to specify a number of tree trunk levels (Enter trunk height: ), then use a loop to draw that many levels. Testing suggestion: If the user specifies 4 tree trunk levels, then the original tree should be drawn. (2) Modify the program again to ask the user to specify a number of tree trunk *s per level ("Enter trunk width: ), then use a loop to draw that many *s per level. Youll need to use a nested loop in which the inner loop draws the *s, and the outer loop iterates a number of times equal to the number of tree trunk levels. (3) Modify the program so that it only accepts odd numbers for the trunk width. Use a loop to continue prompting the user for a width

until the number is odd. (4) Modify the program to ask the user to specify a number of tree leaves levels (Enter leaves width: ), then use a nested loop to draw that many levels. Youll need two inner loops for drawing the leaves: one for outputting spaces and one for outputting *s. The outer loop iterates a number of times equal to the number of tree leaves levels. The top level of the leaves must have at least one *. You will have to modify this as well to only accept odd numbers for the number of leaves. Here is an example program execution. The user typed inputs have asterisks around them to clearly denote them as user inputs. Here is an example program execution when the user attempts to enter an even number for trunk width. A similar pattern should be followed, when a user attempts to enter an even number for leaves width as well. The user typed inputs have asterisks around them to

clearly denote them as user inputs. Our Solution Many Small Programs 7 small labs per week Specific concepts 70% threshold

Allowing collaboration Many Small Programs - Prompt Many Small Programs - Solution Many Small Programs Test Cases

Methodology Study conducted on a CS10 course at UCR during Spring 2017 Control Group 2 in-person sections (~160 students) One-large program a week No collaboration Program assignments: 25%, Midterm: 20%

Experimental Group 1 online section (~80 students) Many Small Programs Collaboration allowed Program assignments: 15%, Midterm: 30%

Methodology cont. Student Surveys (Stress Survey) Asked students about their experience Survey given during week 8 of the quarter Grade Performance Averaged grade percentages for Final, Midterm, Reading Activities, Challenge Activities, and Programming Activities

Results Stress Survey Experimental group preferred the class 9% more Results - Grades Conclusion

Students that had MSPs prefer the course 9% more than students that had the traditional programming assignments. Students that had MSPs outperformed students that had traditional programming assignments on the Final and the Midterm, and did about the same on the other class categories. Future Work After 1 year, are we still seeing similar results with student perception and grades?

If we allow collaboration, do students actually collaborate if so, how much? Does having MSPs in CS1 affect student performance in CS2? Do students start programming assignments earlier if they are MSP or larger assignments? Do students perform better if they have all MSPs or mostly MSPs with some large assignments?

Recently Viewed Presentations

• Michael Phelps is the scientist most often identified as the inventor of PET, a technique that permits the imaging of biological processes in the organ systems of living individuals. Phelps
• In the formula, we have taken all expenses Interest, floatation charges, discount, premium on redemption in the numerator. Premium on issue(p. i) is a gain for company, so we have deducted that amount in numerator, where all item is related...
• Removable media - USB drives that can be connected and removed for use on a different computer. Bigger and faster is best. Input/output devices - allows the addition of devices for input and output purposes via ports on the motherboard...
• Response System Comparisons * Prices vary depending on publisher and university contracts **Amount and type of accessibility varies
• Can you find the correct pronoun or possessive adjective? I / my he / his she /her it / its we / our you / your they / their Hello, _____ name's Janet.
• Ask if anyone had a hard time answering this questions probe: ... often with a focus on science, technology, engineering and mathematics (STEM). ... This is a key career development competency BC's future - even without LNG coming to fruition...
• I can interpret P-values in context.. QUESTION: When we are testing hypotheses, what would be strong evidence against the null hypothesis (??)?. ANSWER: Obtaining data that shows a very . small. p-value. (in comparison to the stated 'alpha' level …...
• EU, constitutional rights and human rights Fundamental Rights in the EU/Specialization Seminar in Human Rights, Winter/Spring 2007 Turku Law School / Åbo Akademi