27
Adopting CS Principles in a Breadth-First Survey Course Chris Mayfield Department of Computer Science James Madison University CCSC-CP 2017, Lincoln, NE

Adopting CS Principles in a Breadth-First Survey CourseI 30% Participation: labs and exercises, online discussion posts, group activities I 50% Quizzes: vocab matching, multiple choice,

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Adopting CS Principles in a Breadth-First Survey CourseI 30% Participation: labs and exercises, online discussion posts, group activities I 50% Quizzes: vocab matching, multiple choice,

Adopting CS Principles in a Breadth-First Survey Course

Chris Mayfield

Department of Computer ScienceJames Madison University

CCSC-CP 2017, Lincoln, NE

Page 2: Adopting CS Principles in a Breadth-First Survey CourseI 30% Participation: labs and exercises, online discussion posts, group activities I 50% Quizzes: vocab matching, multiple choice,

Survey Courses

Problem: how to introduce computer science to new students

I In a way that appeals to a wide audience

I And doesn’t focus solely on programming

Late 1980s: ACM task force on the Core of Computer Science (COSC)

I Proposed a three-course sequence, 42 lectures, 35 labs

I “A rigorous, challenging survey of the whole discipline.”

Today: many departments still offer survey courses

I Breadth-first introductions to computer science

I Emphasis on computer fluency, general education

Mayfield 2017 Adopting CS Principles in a Breadth-First Survey Course CCSC-CP 2 of 27

Page 3: Adopting CS Principles in a Breadth-First Survey CourseI 30% Participation: labs and exercises, online discussion posts, group activities I 50% Quizzes: vocab matching, multiple choice,

CS Principles

7 big ideas, 44 learning objectives, 312 essential knowledge statements

Impact: 56

Internet: 37

Programming: 72Algorithms: 37

Data: 42

Abstraction: 41

Creativity: 27

Mayfield 2017 Adopting CS Principles in a Breadth-First Survey Course CCSC-CP 3 of 27

Page 4: Adopting CS Principles in a Breadth-First Survey CourseI 30% Participation: labs and exercises, online discussion posts, group activities I 50% Quizzes: vocab matching, multiple choice,

Main Idea of This Paper

Traditional Survey Coursefor CS Majors

+CS Principles Curriculum

Framework= JMU CS 101

Creativity Abstraction Data Algorithms Programming Internet ImpactLO

1.1

.1LO

1.2

.1LO

1.2

.2LO

1.2

.3LO

1.2

.4LO

1.2

.5LO

1.3

.1LO

2.1

.1LO

2.1

.2LO

2.2

.1LO

2.2

.2LO

2.2

.3LO

2.3

.1LO

2.3

.2LO

3.1

.1LO

3.1

.2LO

3.1

.3LO

3.2

.1LO

3.2

.2LO

3.3

.1LO

4.1

.1LO

4.1

.2LO

4.2

.1LO

4.2

.2LO

4.2

.3LO

4.2

.4LO

5.1

.1LO

5.1

.2LO

5.1

.3LO

5.2

.1LO

5.3

.1LO

5.4

.1LO

5.5

.1LO

6.1

.1LO

6.2

.1LO

6.2

.2LO

6.3

.1LO

7.1

.1LO

7.1

.2LO

7.2

.1LO

7.3

.1LO

7.4

.1LO

7.5

.1LO

7.5

.2

Online Discussions x x x x x x x x x x xU1: Introduction x x x x x x x xU2: Data Storage x x x x x x x x xU3: Program Execution x x x x x x x x x x xU4: Operating Systems x x x x x x x x x x xU5: Computer Networking x x x x x x x x x x x x x x xU6: Information Security x x x x x x x x x x x x xPT1: Explore/Impact x x x x x x x x x x x xU7: Algorithms and Python x x x x x x x x x x x x x xU8: Programming Languages x x x x x x x x x x x x x xU9: Software Engineering x x x x x x x x x xU10: Data Structures x x x x x x x x x x x xU11: Database Systems x x x x x x x x x x x x x x x xU12: Artificial Intelligence x x x x x x x x x x x x x x xPT2: Create/Program x x x x x x x x x x x x x x

Mayfield 2017 Adopting CS Principles in a Breadth-First Survey Course CCSC-CP 4 of 27

Page 5: Adopting CS Principles in a Breadth-First Survey CourseI 30% Participation: labs and exercises, online discussion posts, group activities I 50% Quizzes: vocab matching, multiple choice,

Example Textbooks

Currently using Brookshear and Brylow (2015), Computer Science: An Overview

Mayfield 2017 Adopting CS Principles in a Breadth-First Survey Course CCSC-CP 5 of 27

Page 6: Adopting CS Principles in a Breadth-First Survey CourseI 30% Participation: labs and exercises, online discussion posts, group activities I 50% Quizzes: vocab matching, multiple choice,

Some Context

About my institution

I Teaching-oriented, public university

I 19K undergrad, 2K grad, over 500 CS majors

I 18 CS faculty (all full-time, tenure track)

About the course

I CS 101, Introduction to Computer Science

I Offered as an elective, will be required soon

I 2–3 sections per year, 25–30 students each

Mayfield 2017 Adopting CS Principles in a Breadth-First Survey Course CCSC-CP 6 of 27

Page 7: Adopting CS Principles in a Breadth-First Survey CourseI 30% Participation: labs and exercises, online discussion posts, group activities I 50% Quizzes: vocab matching, multiple choice,

Course Goals

I Provide our majors with a common language andbroad understanding of CS that will help them putthe rest of their coursework into a larger context.

I Align with the proposed AP CS Principles coursethat seeks to broaden participation in computing inK-12 education.

I Give non-majors a unique opportunity to learn howto think like a computer scientist, without havingto take a programming-intensive course.

Mayfield 2017 Adopting CS Principles in a Breadth-First Survey Course CCSC-CP 7 of 27

Page 8: Adopting CS Principles in a Breadth-First Survey CourseI 30% Participation: labs and exercises, online discussion posts, group activities I 50% Quizzes: vocab matching, multiple choice,

Flipped Classroom

Mayfield 2017 Adopting CS Principles in a Breadth-First Survey Course CCSC-CP 8 of 27

Page 9: Adopting CS Principles in a Breadth-First Survey CourseI 30% Participation: labs and exercises, online discussion posts, group activities I 50% Quizzes: vocab matching, multiple choice,

Assessment

I 30% Participation: labs and exercises, online discussion posts, group activities

I 50% Quizzes: vocab matching, multiple choice, fill in the blank, short answer

I 10% Explore Task: collaborative research paper and poster presentation

I 10% Create Task: pair programming assignment and individual reflection

Course and Exam Description

AP®

ComputerScience PrinciplesIncluding the Curriculum Framework

Updated Fall 2016

Mayfield 2017 Adopting CS Principles in a Breadth-First Survey Course CCSC-CP 9 of 27

Page 10: Adopting CS Principles in a Breadth-First Survey CourseI 30% Participation: labs and exercises, online discussion posts, group activities I 50% Quizzes: vocab matching, multiple choice,

Curriculum and Labs

Page 11: Adopting CS Principles in a Breadth-First Survey CourseI 30% Participation: labs and exercises, online discussion posts, group activities I 50% Quizzes: vocab matching, multiple choice,

Unit 1: Introduction

Algorithms, metacognition, history of computing, seven big ideas

Lab: Lightbot Hour of Code

http://lightbot.com/hocflash.html

CSP: Creativity 1.2.2; Abstraction2.2.1, 2.2.2, 2.3.1; Algorithms 4.1.1,4.2.4; Programming 5.1.2; Impact 7.1.1

Mayfield 2017 Adopting CS Principles in a Breadth-First Survey Course CCSC-CP 11 of 27

Page 12: Adopting CS Principles in a Breadth-First Survey CourseI 30% Participation: labs and exercises, online discussion posts, group activities I 50% Quizzes: vocab matching, multiple choice,

Unit 2: Data Storage

Logic gates, binary, hexadecimal, RAM, hard disk, ASCII, overflow

Lab: Logisim ripple carry adder

http://www.cburch.com/logisim/

CSP: Creativity 1.2.2, 1.2.3, 1.2.5;Abstraction 2.1.1, 2.1.2, 2.2.1, 2.2.3,2.3.1; Data 3.3.1

Mayfield 2017 Adopting CS Principles in a Breadth-First Survey Course CCSC-CP 12 of 27

Page 13: Adopting CS Principles in a Breadth-First Survey CourseI 30% Participation: labs and exercises, online discussion posts, group activities I 50% Quizzes: vocab matching, multiple choice,

Unit 3: Program Execution

How CPUs work, instructions, machine cycle, code vs data, masking

Lab: Machine language simulator

http://bmachine.sourceforge.net/

CSP: Creativity 1.2.5; Abstraction2.1.1, 2.1.2, 2.2.2, 2.2.3, 2.3.1, 2.3.2;Algorithms 4.1.2; Programming 5.2.1,5.4.1, 5.5.1

Mayfield 2017 Adopting CS Principles in a Breadth-First Survey Course CCSC-CP 13 of 27

Page 14: Adopting CS Principles in a Breadth-First Survey CourseI 30% Participation: labs and exercises, online discussion posts, group activities I 50% Quizzes: vocab matching, multiple choice,

Unit 4: Operating Systems

Job scheduling, multitasking, components of OS, firmware, processes

Lab: Unix commands and files

http://www.ee.surrey.ac.uk/Teaching/Unix/

CSP: Creativity 1.1.1, 1.2.2, 1.2.3,1.2.5; Abstraction 2.2.2, 2.2.3; Data3.1.1, 3.1.2; Programming 5.2.1, 5.3.1;Impact 7.3.1

Mayfield 2017 Adopting CS Principles in a Breadth-First Survey Course CCSC-CP 14 of 27

Page 15: Adopting CS Principles in a Breadth-First Survey CourseI 30% Participation: labs and exercises, online discussion posts, group activities I 50% Quizzes: vocab matching, multiple choice,

Unit 5: Computer Networking

Protocols, routers, client/server, Internet, IP, DNS, URLs, HTML

Lab: Wireshark, mtr, web tools

https://www.wireshark.org/

CSP: Creativity 1.1.1, 1.2.1, 1.2.5,1.3.1; Abstraction 2.1.1, 2.2.3, 2.3.2;Data 3.1.3, 3.2.1; Internet 6.1.1, 6.2.1,6.2.2; Impact 7.1.1, 7.1.2, 7.3.1

Mayfield 2017 Adopting CS Principles in a Breadth-First Survey Course CCSC-CP 15 of 27

Page 16: Adopting CS Principles in a Breadth-First Survey CourseI 30% Participation: labs and exercises, online discussion posts, group activities I 50% Quizzes: vocab matching, multiple choice,

Unit 6: Information Security

Access control, privilege levels, malware, DoS, encryption, keys

Lab: Telnet vs ssh, encryption

http://extranet.cryptomathic.com/aescalc

CSP: Creativity 1.2.2, 1.2.4; Abstrac-tion 2.1.1, 2.1.2; Data 3.1.1, 3.1.2,3.3.1; Algorithms 4.2.1, 4.2.2; Internet6.2.2, 6.3.1; Impact 7.3.1, 7.4.1

Mayfield 2017 Adopting CS Principles in a Breadth-First Survey Course CCSC-CP 16 of 27

Page 17: Adopting CS Principles in a Breadth-First Survey CourseI 30% Participation: labs and exercises, online discussion posts, group activities I 50% Quizzes: vocab matching, multiple choice,

Unit 7: Algorithms and Python

Primitives, pseudocode, problem solving, decisions, loop control

Lab: Intro to Python and IDLE

http://codingbat.com/python

CSP: Creativity 1.2.2, 1.2.4, 1.2.5; Ab-straction 2.2.1, 2.2.2; Algorithms 4.1.1,4.1.2, 4.2.4; Programming 5.1.2, 5.1.3,5.2.1, 5.3.1, 5.4.1, 5.5.1

Mayfield 2017 Adopting CS Principles in a Breadth-First Survey Course CCSC-CP 17 of 27

Page 18: Adopting CS Principles in a Breadth-First Survey CourseI 30% Participation: labs and exercises, online discussion posts, group activities I 50% Quizzes: vocab matching, multiple choice,

Unit 8: Programming Languages

Paradigms, compiler vs interpreter, variables, functions, scope

Lab: Finch robot dance party

http://www.finchrobot.com/

CSP: Creativity 1.1.1, 1.2.1, 1.2.3,1.2.4; Abstraction 2.1.1, 2.2.1, 2.2.2,2.2.3; Algorithms 4.1.1, 4.1.2; Pro-gramming 5.1.1, 5.1.3, 5.2.1, 5.3.1

Mayfield 2017 Adopting CS Principles in a Breadth-First Survey Course CCSC-CP 18 of 27

Page 19: Adopting CS Principles in a Breadth-First Survey CourseI 30% Participation: labs and exercises, online discussion posts, group activities I 50% Quizzes: vocab matching, multiple choice,

Unit 9: Software Engineering

Software life cycle, prototyping, coupling, cohesion, UML diagrams

Lab: Static analysis, debugging

http://www.aptana.com/

CSP: Creativity 1.2.3, 1.2.5; Abstrac-tion 2.2.1, 2.2.3, 2.3.1; Programming5.1.2, 5.3.1, 5.4.1; Impact 7.1.2, 7.3.1

Mayfield 2017 Adopting CS Principles in a Breadth-First Survey Course CCSC-CP 19 of 27

Page 20: Adopting CS Principles in a Breadth-First Survey CourseI 30% Participation: labs and exercises, online discussion posts, group activities I 50% Quizzes: vocab matching, multiple choice,

Unit 10: Data Structures

Arrays, lists, stacks, queues, trees, pointers, contiguous vs linked

Lab: Visualizing binary trees

http://pythontutor.com/

CSP: Creativity 1.2.5; Abstraction2.1.1, 2.1.2, 2.2.3, 2.3.1; Data 3.1.3,3.2.2; Algorithms 4.1.2, 4.2.1; Pro-gramming 5.3.1, 5.4.1, 5.5.1

Mayfield 2017 Adopting CS Principles in a Breadth-First Survey Course CCSC-CP 20 of 27

Page 21: Adopting CS Principles in a Breadth-First Survey CourseI 30% Participation: labs and exercises, online discussion posts, group activities I 50% Quizzes: vocab matching, multiple choice,

Unit 11: Database Systems

File system vs DBMS, schemas, relational model, SQL, data mining

Lab: Exploring your SQLite data

http://sqlite.org/

CSP: Creativity 1.1.1, 1.2.2, 1.2.4; Ab-straction 2.2.2; Data 3.1.1, 3.1.2, 3.2.1,3.2.2; Algorithms 4.1.2; Programming5.1.1, 5.1.3, 5.5.1; Impact 7.1.1, 7.2.1,7.3.1, 7.5.1

Mayfield 2017 Adopting CS Principles in a Breadth-First Survey Course CCSC-CP 21 of 27

Page 22: Adopting CS Principles in a Breadth-First Survey CourseI 30% Participation: labs and exercises, online discussion posts, group activities I 50% Quizzes: vocab matching, multiple choice,

Unit 12: Artificial Intelligence

Turing test, semantics, production systems, state graph, heuristics

Lab: Finch robot obstacle course

http://www.finchrobot.com/

CSP: Creativity 1.1.1, 1.2.2, 1.2.3,1.2.4, 1.2.5; Abstraction 2.2.2, 2.3.2;Algorithms 4.1.1, 4.1.2, 4.2.1, 4.2.3;Programming 5.1.2, 5.1.3, 5.4.1, 5.5.1

Mayfield 2017 Adopting CS Principles in a Breadth-First Survey Course CCSC-CP 22 of 27

Page 23: Adopting CS Principles in a Breadth-First Survey CourseI 30% Participation: labs and exercises, online discussion posts, group activities I 50% Quizzes: vocab matching, multiple choice,

Evaluation and Reflection

Page 24: Adopting CS Principles in a Breadth-First Survey CourseI 30% Participation: labs and exercises, online discussion posts, group activities I 50% Quizzes: vocab matching, multiple choice,

Pre/Post Survey

1. How confident are you that you are able to do the following?I 5-point scale: apprehensive to confidentI List of 10 representative learning objectives

2. Rate your interest in the following areas of Computer Science.I 5-point scale: uninterested to interestedI List of 12 main chapters from the textbook

3. Additional open-ended questions on the post-survey:I How has taking CS 101 benefited you?I What advice would you give a student taking CS 101?

Mayfield 2017 Adopting CS Principles in a Breadth-First Survey Course CCSC-CP 24 of 27

Page 25: Adopting CS Principles in a Breadth-First Survey CourseI 30% Participation: labs and exercises, online discussion posts, group activities I 50% Quizzes: vocab matching, multiple choice,

Quantitative Results

Data collected from first three years of the course

I About 150 students, 18% female, 48% non-major

Confidence

I Slight increase overall (female went up, male went down)

I Not surprising given the grades/experience of students

Interest

I Slight decrease overall (about the same for male/female)

I More interested in CS as a whole, less in specific sub-areas

Mayfield 2017 Adopting CS Principles in a Breadth-First Survey Course CCSC-CP 25 of 27

Page 26: Adopting CS Principles in a Breadth-First Survey CourseI 30% Participation: labs and exercises, online discussion posts, group activities I 50% Quizzes: vocab matching, multiple choice,

Qualitative Results

Retention

I “I’m more comfortable working with not only computers, but the software we’ve used likeWireshark, IDLE, and SQLite.” (CS major, female)

I “It gave me a more in-depth knowledge in the field . . . by teaching material that canactually help you in other CS classes.” (CS major, male)

I “I have learned that CS is not for me, but I find it very fascinating.” (Undeclared, male)

Recruitment

I “Taking this class has taught me a ton of valuable information. I took this class to see if Iwanted to switch majors to CS, and now I do.” (Nursing major, male)

I “101 has increased my interest in the computer science field. I have enjoyed each chapterand definitely want to continue studying it.” (Undeclared, female)

I “I didn’t think I would actually enjoy CS, but this course made me realize that I actuallydo, especially programming.” (Philosophy major, female)

Mayfield 2017 Adopting CS Principles in a Breadth-First Survey Course CCSC-CP 26 of 27

Page 27: Adopting CS Principles in a Breadth-First Survey CourseI 30% Participation: labs and exercises, online discussion posts, group activities I 50% Quizzes: vocab matching, multiple choice,

Thank You!

https://w3.cs.jmu.edu/cs101

(Google: JMU CS 101)