scripting for all icsi presentation .pdf · gold 17.2% 3.1% green 15.0% 18.7% intro cs course...
TRANSCRIPT
Scripting for All .
ZD
Lindsay Popowski '21, Kewei Zhou '21, Zach DoddsHarvey Mudd College
CS for All ?
ZD
CS for All ~ Scripting for All
ZD
Different views of "The World" ...
"Scripting for World Domination"
ZD
"All" ?
Scripting for All Disciplines
ZD
Scripting for All Colleges
Claremont's Petri DishZD
Premise ~ Computing is (becoming) a professional literacy.
Challenges:
[Q1] How can CS departments support computing skills? … while encouraging students to retain and grow in other academic identities?
[Q2] What does a CS-for-All college curriculum look like? Our answer:
From Specialty to Literacy
ZD
College Computing ~ College Writing
Literacy, not a specialty
College Writing
Many ways in Many ways through Many ways from
Writing department?ZD
Literacy, not a specialty
College Computing
Many ways in Many ways through Many ways from
Computing department?ZD
Claremont ~ 2025
Discipline-ownedSchool-owned
College ComputingData 8Computing for Insight
Who owns this?
ZD
What is this?
Since 2009...
CS1 "gold"
CS1 "black"
CS1 "green"
students new to CS
students with some CS
Biology-owned CS1 course
Intro to CS in Python (breadth)
Intro to CS in Python (more breadth)
ZD
Biology-owned CS1
Projects
Recursion
Iteration
CS1 in which all practice is biologically motivated…
Lectures: ½ CS ½ Bio ZD
What happens beyond CS1 … ?
CS1 "gold"
CS1 "black"
students new to CS
students with some CS
CS1 "green"
CS2 CS3Java & Racket C++
CS for Insight
Python
ZD - LP
Intro CS Course taken... CS majors Biology majors
Black 27.6% 2.0%
Gold 17.2% 3.1%
Green 15.0% 18.7%
Biology-owned CS1 ~ Aftermath
Intro CS Course taken... Avg # CS courses taken Avg # Bio courses taken
Black 5.6 1.6
Gold 4.0 1.8
Green 4.3 3.8
9 years of data:~300 green students:
~400 black students, and ~2000 gold students
LP
Biology-owned CS1 ~ Aftermath
There is room to make CS1 half biology -- not only without harm but with considerable benefit...
9 years of data:~300 green students:
~400 black students, and ~2000 gold students
LP
Intro CS Course taken... CS majors Biology majors
Black 27.6% 2.0%
Gold 17.2% 3.1%
Green 15.0% 18.7%
Intro CS Course taken... Avg # CS courses taken Avg # Bio courses taken
Black 5.6 1.6
Gold 4.0 1.8
Green 4.3 3.8
● 100 students requested to take the biology-flavored CS1
● 71 students did not request to take the biology-flavored CS1 either they opted for a different section or did not express a preference
Of the students who took CS5 green (biology's CS1)...
How did interest in the biology facets of the course impact the academic journey of these students?We asked
LP
Course fraction who chose cs5green taking course
fraction who didn't choose cs5green taking course p value
BIOL054 HM 0.38 0.24 0.046BIOL113 HM 0.35 0.17 0.008CSCI060 HM 0.68 0.67 0.854CSCI070 HM 0.45 0.42 0.664CSCI081 HM 0.20 0.14 0.297
Courseaverage grade
(4-pt-scale) of those who chose CS5 Green
average grade (o a 4-pt-scale) of those who didn't choose CS5 Green
p value
BIOL052 HM 2.98 2.76 0.137BIOL054 HM 3.63 3.63 0.978BIOL113 HM 3.42 3.31 0.542CSCI060 HM 3.59 3.47 0.148CSCI070 HM 2.93 3.08 0.290CSCI081 HM 3.13 2.63 0.088
no evidence of a significant difference
p < 0.05
Subsequent-course selection
Results ~ paths chosen vs. paths unchosen
Subsequent-course grades
LP
Course fraction who chose cs5green taking course
fraction who didn't choose cs5green taking course p value
BIOL054 HM 0.38 0.24 0.046BIOL113 HM 0.35 0.17 0.008CSCI060 HM 0.68 0.67 0.854CSCI070 HM 0.45 0.42 0.664CSCI081 HM 0.20 0.14 0.297
Courseaverage grade
(4-pt-scale) of those who chose CS5 Green
average grade (o a 4-pt-scale) of those who didn't choose CS5 Green
p value
BIOL052 HM 2.98 2.76 0.137BIOL054 HM 3.63 3.63 0.978BIOL113 HM 3.42 3.31 0.542CSCI060 HM 3.59 3.47 0.148CSCI070 HM 2.93 3.08 0.290CSCI081 HM 3.13 2.63 0.088
no evidence of a significant difference
p < 0.05
Subsequent-course selection
Results ~ paths chosen vs. paths unchosen
There is room to make CS1 half biology -- even for students not predisposed to biology !
Subsequent-course grades
LP
Results ~ all paths
Goal: Not to make everyone be the same, but to make everyone experientially confidentLP
CS2 identities, past decade
Beyond CS1… ?
ZD
CS2 growth, past decade
CS2 raw enrollments (also F/M)
If you build it, they will come...
Beyond CS1… ?
ZD
CS2 for non-majors: 2016, 2017, 2018Homework Subject Topics Assignments
0 Text & File Analysis Python review, Reading/writing text files, GitHub
Ongoing scavenger hunt across a broad, deep directory utilizing particular skills learned in each week
1 Webscraping and APIsRetrieving data from Google Maps, iTunes, and USGS Earthquake API
2 Web Technologies HTML/CSS, Text annotation
3 Data VisualizationMatplotlib, Distinguishing human-generated and batch-mode inputs
Evaluating data in relation to Benford's Law
4 Machine Learning K nearest neighbors using scikit-learn library Neural networks using scikit-learn library
5 Machine LearningDecision trees & random forests using scikit-learn library
Neural networks, TensorFlow
6 Natural Language ProcessingUsing NLTK, gensim (Google's vector representation of word meanings), and TextBlob libraries
Predicting Amazon product review scores using sentiment analysis
7 Computer Vision Pixel processing, Steganography, Green-screening "Photoshopping" text algorithmically
8 Computer Vision K-means image posterization/implementationReading pictures of letters with pixel processing and neural networks
ZD
CS2 for non-majors: 2016, 2017, 2018Homework Subject Topics Assignments
0 Text & File Analysis Python review, Reading/writing text files, GitHub
Ongoing scavenger hunt across a broad, deep directory utilizing particular skills learned in each week
1 Webscraping and APIsRetrieving data from Google Maps, iTunes, and USGS Earthquake API
2 Web Technologies HTML/CSS, Text annotation
3 Data VisualizationMatplotlib, Distinguishing human-generated and batch-mode inputs
Evaluating data in relation to Benford's Law
4 Machine Learning K nearest neighbors using scikit-learn library Neural networks using scikit-learn library
5 Machine LearningDecision trees & random forests using scikit-learn library
Neural networks, TensorFlow
6 Natural Language ProcessingUsing NLTK, gensim (Google's vector representation of word meanings), and TextBlob libraries
Predicting Amazon product review scores using sentiment analysis
7 Computer Vision Pixel processing, Steganography, Green-screening "Photoshopping" text algorithmically
8 Computer Vision K-means image posterization/implementationReading pictures of letters with pixel processing and neural networks
"CS for Insight"
Neither CS nor SE for its own sake -
but for amplifying other paths.
ZD
Building "Overlaps" with other disciplines
Professor A. SinhaGovernment Dept.Claremont McKenna College
Professor L. ConnollyPhysics Dept.Harvey Mudd College
NYT Webscraping
Data analysis
ZD - KZ
● Using scripting to scan a wide breadth of texts for historical information
● Internet Archive and New York Times APIs
● Examining word frequencies over time
● Finding clusters of words that frequently appear together
● Can generate questions for further and closer investigation...
NYT article scraping
KZ
… into government and international relations, via Professor Sinha
How can we improve process of data collection and analysis in non-STEM fields?
Goal ~ speed up / automate it, while:
a) Maintaining accuracy, b) Keeping the process transparent, andc) Offering new insights or paths ...
NYT Scraping for Insight...
KZ
Connective computing
● Scanning for articles related to a specific topic (e.g., India) or of a specific type (e.g., Letters to the editor)
● Using Google Cloud Natural Language API for more detailed text analysis
○ Finding overall article sentiments and entity sentiments
○ Analyzing syntax of the texts, including using morphology and dependency tree
KZ
Connective computing
● Scanning for articles related to a specific topic (e.g., India) or of a specific type (e.g., Letters to the editor)
● Using Google Cloud Natural Language API for more detailed text analysis
○ Finding overall article sentiments and entity sentiments
○ Analyzing syntax of the texts, including using morphology and dependency tree
KZ
● How do we maintain accuracy?
We want an effective search that removes articles we don’t want
What would a human be looking for or sorting out?
● How do we keep transparency?
We run into this issue with Google Natural Language Processing;
The more advanced and complicated the analysis, the less transparent
● What additional insight can we offer?
Text analysis and identifying key phrases/sentences
Insights for Computing in Non-STEM majors
KZ
● Switch to python● Leveraging matplotlib, scikit-
learn, and Google's suite● Curve fitting, plus pixel
processing, spreadsheet handling, … computing!
Challenge: How to incorporate computing clearly into a non-CS course without distracting from the primary academic focus, physics.
Physics Lab - Data Analysis
Don't overrun!LP
Physics Lab ~ Physics, not CS
LP
● What parts do we have the students do manually?
We let them choose - based on time
● How do we teach the students enough so that they can replicate the analyses, without distracting from the lab?
● What is the best way to introduce python libraries' capabilities, while keeping the lab clear and concise?
Physics Lab - Challenges & Decisions
LPColab: Live-python Google Docs
We asked, "How can computing serve all disciplines well ?"
Our project has
1. Explored and assessed our current landscape: CS's transition-to-service2. Developed tools to support and encourage collaborations3. Verdict The future's directive is
Looking back, looking forward...
ZD
Overlap! Don't Overrun.
We asked, "How can computing serve all disciplines well ?"
Our project has
1. Explored and assessed our current landscape: CS's transition-to-service2. Developed tools to support and encourage collaborations3. Verdict The future's directive is
Looking back, looking forward...
Overlap! Don't Overrun.
Computing-as-Literacy ~ More and more, IntroX will be/include CS1
Slides we're not using...
Expanding HMC
Introductory CS courses
Benford's Law!
It works - remarkably well!
Introducing dictionaries
R versus PythonIntroducing R as a programming language
Side-by-side Comparisons
Survey of 50 "influential" computer science programs*
Big-picture Landscape
Most commonLeast common
*Niche ranking 2017
Flavored CS1CS2 for non-CS majors Interdisciplinary Majors CS+X Majors & Courses
21 out of 50 . 8 out of 50 . 27 out of 50 . 50 out of 50 .
Survey of 50 "influential" computer science programs*
Big-picture Landscape
Most commonLeast common
*Niche ranking 2017
Flavored CS1CS2 for non-CS majors Interdisciplinary Majors CS+X Majors & Courses
21 out of 50 . 8 out of 50 . 27 out of 50 . 50 out of 50 .
Computing is growing outward ~
faster than CS departments can adapt!
Survey of 50 "influential" computer science programs*
Big-picture Landscape
Most commonLeast common
*Niche ranking 2017
Flavored CS1CS2 for non-CS majors Interdisciplinary Majors CS+X Majors & Courses
21 out of 50 . 8 out of 50 . 27 out of 50 . 50 out of 50 .
Local experiments in
this part of CS space...
Total Number of Students
Choosing biology...
CS2 for non-CS-majors: First tryHomework Subject Current Topics New Assignments
0 Text & File AnalysisPython review, Reading/writing text files, GitHub
Ongoing scavenger hunt across a broad, deep directory utilizing particular skills learned in each week
1 Webscraping and APIsRetrieving data from Google Maps, iTunes, and USGS Earthquake API
2 Web Technologies HTML/CSS, Text annotation
3 Data VisualizationMatplotlib, Distinguishing human-generated and batch-mode inputs
Evaluating data in relation to Benford's Law
4 Machine Learning K nearest neighbors using scikit-learn library Neural networks using scikit-learn library
5 Machine LearningDecision trees & random forests using scikit-learn library
Neural networks, TensorFlow
6 Natural Language ProcessingUsing NLTK, gensim (Google's vector representation of word meanings), and TextBlob libraries
Predicting Amazon product review scores using sentiment analysis
7 Computer VisionPixel processing, Steganography, Green-screening
"Photoshopping" text algorithmically
8 Computer Vision K-means image posterization/implementationReading pictures of letters with pixel processing and neural networks
Machine Learning
Files: Local & Online
Applications
InterviewsMaduka Ogba
Chemistry @ PomonaRobin Melnick
Linguistics @ PomonaVivien HamiltonHistory @ Mudd
Takeaways:● Non-CS majors want computational skills.● CS can come across as a challenge to students’ and profs’ academic identities● Richest applications of computing happen after students have developed academic identities● Opportunity to pursue overlap, while preserving -- and supporting -- deeply held priorities.
Should there be a CS2 for non-CS majors?
Opportunities to “bridge” elsewhere...