Posts tagged ‘computer science education’

Where are the graduate CS Education programs?

There is a flip side to Matt’s question which is even more disappointing — the programs that exist are woefully undersubscribed.

About a week ago (although it was before Sandy and seems like a year ago), I asked one of our GAs and to compile a list of graduate programs that focus on Computer Science Education or Teaching Computer Science; programs that prepare people to teach Computer Science in K-12 schools. I’m thinking that Adelphi should offer a degree with this focus. I knew that we would be the first in the region, but I didn’t expect the options to be so limited, nationwide.

via Where are the CSE programs? | Matthew X. Curinga.

November 12, 2012 at 7:06 am 3 comments

Survey on Scaling K-12 Computer Science Education: Please Complete!

NSF has reached out to the education side (yay — we really need that!) to start to get a handle on what it will take to scale CS education across the US in schools.  Cameron Wilson wrote a blog post on the effort (quoted and linked below).  The University of Chicago “landscape survey” that they’re asking everyone involved in K-12 CS Education to take is here.  Please do fill it out and help U. Chicago get a picture of what’s going on now.

It’s a comprehensive survey — be sure to leave enough time for it.  The goal is to get a handle on our overall capacity to offer professional development.  So, the survey is asking for details on every offering of every professional development session across the country, including uploaded agendas (i.e., you can’t provide a URL to a webpage).  We’re still trying to understand some of the terms in the survey, e.g., an on-line component seems to imply a webinar or using a tool like Piazza outside of the face-to-face time.

Ensuring wide-spread access to rigorous and engaging K-12 computer science education is a grand challenge, and this challenge revolves around key questions: How much professional development around new curricular approaches do we need and what models are out there? How are we going to directly engage with states, school districts and teachers on these issues? What will campaigns of sustained advocacy and awareness look like that will ensure the policy environment supports reform? If we are successful in scaling, how do we sustain reform?

The University of Chicago’s Urban Education Institute (UEI) and the University of Chicago’s Center for Elementary Mathematics and Science Education (CEMSE) are carrying out an 18-month study for ACM’s partnership to better understand the answers to these questions and the availability and nature of computer science professional development for K-12 teachers.

via All Hands on Deck! Scaling K-12 Computer Science Education | blog@CACM | Communications of the ACM.

September 17, 2012 at 10:22 am 1 comment

A role for Udacity: Filling the holes from formal computing education

Two recent blog posts that are pointing out an interesting need.. First, from “Gas Stations without Pumps,” a discussion about how teaching writing and programming are similar in importance and the difficulty of doing it well.

There is a strong temptation to throw the problem over the fence to a small group of experts (writing instructors or computer science lecturers) teaching first-year classes. That happened in most universities to writing instruction over the past 2 decades, with the result that students write very few papers after their freshman year in most majors, and almost never get detailed feedback on them. It is happening in computer science also, except that the freshman CS courses already do not provide any feedback on programming style other than whether things compile and work on a few test cases. (That’s like checking English papers for word count, word length, and sentence length, but not for content—sort of what scoring of SAT essays is like.)

via Programming and writing: two fundamentals « Gas station without pumps.

Next, from a new blog that I just discovered: A post from “Run(),” which talks about how Udacity is helping a long-time programmer become a better programmer. The first post is pointing out how formal education is failing future programmers, because it’s not providing enough to develop real expertise. The second post is agreeing, but pointing out that maybe that’s the role of Udacity. I’m not arguing that Udacity or Coursera is dealing with teaching novices to code well — maybe it’s possible to do that via crowd-sourcing, but I don’t really see them filling that role now. I do see the possibility of Udacity of filling other holes in formal computing education, like seeing multiple languages, which doesn’t happen much now.

It showed to me that there are many people out there programming without truly understanding the essence of programming. I would bet that there are many out there just like Rick, who dabble in programming or are self-taught programmers, who have focused most of their efforts on learning programming languages that they never realized the common logical backbone that is in so many programming languages. It does venture into a somewhat theoretical space, but I think many would stand to benefit from investing some time to understand these abstractions from the get-go. It also makes me think, once again, that you can become a better programmer if you can be exposed to at least more than one programming languages from early on– so that you are not trapped in the workings of a single mental model.

via The Udacity student | run( ) {.

June 6, 2012 at 7:09 am 1 comment

NRC K-12 Science Framework ducks the question of computer science

The new K-12 Science Framework report from the National Research Council does mention CS, but doesn’t include it as part of the core framework.  Instead, they say the below:

Computer science and statistics are other areas of science that are not addressed here, even though they have a valid presence in K-12 education. Statistics is basically a subdiscipline of mathematical sciences, and it is addressed to some extent in the common core mathematics standards. Computer science, too, can be seen as a branch of the mathematical sciences, as well as having some elements of engineering. But, again, because this area of the curriculum has a history and a teaching corps that are generally distinct from those of the sciences, the committee has not taken this domain as part of our charge. Once again, this omission should not be interpreted to mean that computer science or statistics should be excluded from the K-12 curriculum. There are aspects of computational and statistical thinking that must be understood and applied in learning about the sciences, and we identify these aspects, along with mathematical thinking, in our discussion of science practices in Chapter 3.

This is a strange argument.  They are saying that, because CS teachers are a different set of teachers from science teachers, CS doesn’t belong in a science curricular framework.  This isn’t an argument what should be.  Explicitly, they are saying that this is the historical precedent, and they’re okay with it.

The NRC report does talk about “computational thinking” for K-9, but all the high school requirements talk about using computers, especially simulations.  In reality, there’s no real computer science in the framework.  ACM is complaining through the Education Policy Committee.  Their point is well-taken — the NRC framework is pretty significantly different from the recent PCAST report on the role of computer science in K-12 STEM education.

Although the National Research Council’s newly released Framework for K-12 Science Education provides a helpful next step in revising the existing scientific ideas and practices for all U.S. students to know by the end of high school, ACM is concerned that computing and computer science are not yet  included as a core part of the framework for mathematics and science K-12 education despite substantial input from the computing community.

“Computing is by far where the greatest demand for science, technology, engineering and math (STEM) jobs is in today’s economy,” said Bobby Schnabel, Chair of  ACM’s Education Policy Committee http://www.acm.org/public-policy/education-policy-committee .  ”But the major efforts by the Governors and the Academy to define what students should know for the 21st Century make little mention of the need for computer science in the core curriculum. This is a missed opportunity to expose students to a fundamental discipline that they will need for their careers as well as their lives.”

via ACM Urges Inclusion of Computer Science in K12 Core Curriculum — Association for Computing Machinery.

July 25, 2011 at 11:24 am 5 comments

Do the Chemistry Profs care about teaching more than the Computer Science Profs?

A couple of weeks ago, Barb and I were awarded Georgia Tech’s Service Award for our work with Georgia Computes!. At the same awards ceremony, across the table, was David Collard of Chemistry who was getting the Professional education award.  He’s been part of an effort (described below) called cCWCS which teaches chemistry faculty how to teach better — and the program has taught over a thousand faculty!

A thousand faculty?!?  I’ve blogged about how hard it is to get CS faculty to come to our workshops, either Media Computation or Georgia Computes.  I’ve talked to other folks who offer workshops to CS faculty, and they say that they have to invite high school teachers, too, or they won’t have enough people to run the workshop.  Why do so many Chemistry professors show up, when we struggle to get CS professors to show up at teaching workshops?

Barb had an interesting insight: Maybe it’s because Chemistry is taught to everyone.  When you teach something to everyone, you have to teach it better, or at least differently than what you’d just teach to your majors who are more motivated to learn it.  If you don’t change your practice, you end up flunking all the students, and that becomes a political problem on campus.  CS faculty, for the most part, teach to our own.  Maybe as we teach CS to more (as Eric Roberts’ post suggests), we too will have to increase our focus on teaching.

What cCWCS does

cCWCS provides support for STEM education dissemination efforts efforts. This takes the form of sponsorship of workshops and symposia, assistance with advertising and webpage development, and formation fo partnerships and networks. Please see our What cCWCS can do for YOU! webpage for more details.

Origins of cCWCS

The Chemistry Collaborations, Workshops and Communities of Scholars (cCWCS) program is the successor to the Center for Workshops in the Chemical Sciences (CWCS).   CWCS was supported for 2000-2010 by a series of grants from NSF Division of Undergraduate Education Course, Curriculum, and Laboratory Improvement program. Over a ten-year period, CWCS offered over 100 hands-on, intentive and immersive five-day workshops for over 1800 participants. These workshops were designed for individuals engaged in undergraduate teaching. They incorporated lots of hands-on experiential learning and provided extensive sets of high quality tested curriculum materials.

Looking ahead

As cCWCS, funded by the NSF TUES program, the schedule of workshops will continue but a much broader set of activities will further engage members of the professoriate networking opportunities. These include both week-long workshops, shorter workshops and symposia at conferences, support of regional initiatives, and dissemination and implementation grants. The development of new web-based communities provides further opportunities to engage the professoriate in professional development activities.

via About cCWCS | Chemistry Collaborations, Workshops & Communities of Scholars.

April 28, 2011 at 9:54 am 20 comments

Closing down computer science at the Minnesota State University

Max Hailperin passed on this story to the SIGCSE-Members list.  He added that: “About 40 students will graduate from the program in May. But that will leave about 40 who haven’t. They hope to get those students through within two years. But even if they do, the students may be forced to take upper-level computer science classes from faculty who may not have taught them before.” Interesting that Aviation was going to be cancelled, too, but the local business community worked to save that program. But not CS.

It’s been a bit blue in Minnesota State University’s computer science department.

But it’s not hard to understand why.

“Everyone in the department has either been fired, retired or has resigned,” said Dean Kelley, one of those faculty members. “Two took retirement — one effective last year, one this year — one who was on a leave of absence and has resigned. As for the remaining three, the word they used was ‘retrenched.’”

Computer science as a functioning program at MSU will cease to exist at the end of this semester. So will astronomy (although they’ll still have a minor and will still offer low-level astronomy courses). And the word “journalism” will disappear entirely from the mass communications program as it transforms itself into a program of mass media.

Other programs have been retired as well. All of it, of course, was done in hopes of mitigating the damage that will be dealt to higher education across the state when the $6 billion budget shortfall is dealt with. For MSU, that means trimming roughly $10 million.

via Changes at MSU tough for some, while others are able to adjust » Latest news » The Free Press, Mankato, MN.

January 30, 2011 at 9:17 pm 8 comments

CRA-E report now available

The CRA-E report on issues critical to the future of CS Education was presented and released at the Snowbird meeting last month.  I blogged on Andy’s presentation of the report at the ACM Ed Council meeting earlier in the summer. (This post appeared last week, when it turned out that I was a bit early and referenced the wrong report. Thanks to Andy Bernat, I know it really and truly is done now.)

Basic Computing Knowledge: Andy van Dam from Brown University presented the findings from the CRA Education Committee on trends critical to the future of computer science, including diversity, pipeline issues, and general apathy toward the field of computer science. The report, two years in the making, details best practices to introduce students to computational thinking, to address computer-science curricula, and to identify and develop cognitive, mastery, and research skills.

via Computing Research Association Gathering Informs, Inspires – External Research Team Blog – Site Home – MSDN Blogs.

August 10, 2010 at 4:05 am Leave a comment

Providing social infrastructure for Open Courseware

My colleague Ashwin Ram was one of the founders of OpenStudy, which aims to be a social network aimed at supporting student learning, e.g., through online study groups.  It’s just been announced that the MIT OpenCourseware initiative is going to partner with OpenStudy, so that students viewing the OCW material might work together to support learning (including for MIT’s Python course).  This is an exciting and important idea, to provide an infrastructure for learning beyond the raw content provided by OCW.

OCW has partnered with OpenStudy to offer an online study group for this course. 6.00 Introduction to Computer Science and Programming and two other courses (18.01 Single Variable Calculus, and 21F.101 Chinese I) have been selected for this pilot project. We need your feedback to determine whether more study groups should be offered for OCW courses.

These study groups are not moderated or managed by OCW, and you cannot earn credit for participating in them. To participate, you will need to register with OpenStudy or log in with your Facebook account.

About OpenStudy

OpenStudy is social study network for students to ask questions, give help, collaborate and meet others. Founded by professors and students from Georgia Tech and Emory University, and funded by the National Science Foundation and the Georgia Research Alliance, OpenStudy believes that students can teach other students through collaborative learning.

via MIT OpenCourseWare | Electrical Engineering and Computer Science | 6.00 Introduction to Computer Science and Programming, Fall 2008 | Join a Study Group.

August 4, 2010 at 8:45 pm 1 comment

Why go to college? Liberal Arts vs. Computing

My son is going to Georgia Tech in the Fall, in the Computational Media degree program.  Because the CM program is joint between GT’s Colleges of Liberal Arts and Computing, we went to both College’s presentations during Freshman Orientation last week.  I found the contrast between the two of them fascinating.

The Ivan Allen College of Liberal Arts starts their orientation with a brief documentary about Ivan Allen, the former mayor of Atlanta for whom the College is named. John Tone, Associate Dean of the College, explains that the College shares Allen’s values and encourages students to model themselves on Allen.  The presentation goes on with the theme, “Find Your On Switch.” Explicitly, the point is made that the goal of a liberal arts education at Georgia Tech is for each student to figure out what they are most passionate about, what they want to sink time into in order to develop expertise.  International experiences, like study abroad and internships, were explained in terms of the opportunities they provided for seeing more options, other ways to find your “On Switch.”  (About 40% of Georgia Tech’s undergraduates have some international experience, with a goal of getting that to 50%.)  Overall, this presentation was highly successful with the students, and the parents were excited, too.  I saw a mother in front of me write a note to her daughter saying, “This Is So Cool!!”

The College of Computing talked about jobs.  Parents were told about the bright prospects for a computing career.  The curriculum was explained in terms of how it prepared students for the workforce.  International experience (exactly the same programs!) was introduced as a way to prepare students for a globally competitive marketplace, and about how the top companies valued students with an international perspective.  Many of the parents seemed engaged by this perspective, and asked pointed questions, such as whether the robotics approach in CS1 was really the right one to prepare students for more general computing tasks and whether the Computational Media degree really prepared students for the jobs that were available today.

I found the contrast fascinating, especially when the two College’s were talking about the exact same thing. I don’t think that either presentation is wrong or even contradictory, though each can be critiqued as being too narrow.  The Computing perspective lends itself to seeing GT as a vocational school, and anything not related to tomorrow’s job ad is clearly irrelevant.  The Liberal Arts perspective can be read as encouraging students to ignore everything that he or she finds boring or hard — if it doesn’t “Find Your On Switch,” then it’s clearly not important, is it?

As a Computing faculty member, I personally found the Liberal Arts presentation novel and refreshing.  I frequently have to defend what I teach to my students on the grounds that, “Yeah, real companies really do this.”  (For example, we brought in real developers last year to our Senior Design class, to convince them that Scrum was worth learning.)  I love the idea of being able to argue, instead, “Try it, because it’s fascinating and will allow you to think about problem solutions in an entirely new way, maybe in a way that you will find intriguing and engaging!” Hmm, I wonder if that argument actually flies with Liberal Arts majors.  I am pretty sure that it wouldn’t with CS majors.

August 3, 2010 at 9:51 am 6 comments

Computer Science Education Act introduced in Congress

Press release from ACM announces that Jared Polis just last week introduced the Computer Science Education Act in Congress.

Key features of the Computer Science Education Act legislation include plans to:

  • Fund planning grants for states to work with stakeholders to assess their computer science offerings in K-12 and develop concrete steps to strengthen them
  • Fund five-year implementation grants for states, in partnership with local school districts and institutions of higher education, to carry out state plans by: developing state computer science standards, curriculum, and assessments; improving access to underserved populations; building professional development and teacher certification programs; creating online courses; and, ensuring computer science offerings are an integral part of the curriculum
  • Establish a blue-ribbon commission to review the state of computer science education nationwide, and bring states together to address the computer science teacher certification crisis
  • Establish computer science teacher preparation programs at institutions of higher education
  • Create an independent, rigorous evaluation of state programs funded under this Act with results reported to Congress and the Administration

via US Congressman Introduces Measure to Address Crisis in K-12 Computer Science Education — Association for Computing Machinery.

I’m excited about the potential, but wondering about the strategy.  I don’t know a lot about educational reform.  Does it work top-down like this?  How did the Sputnik-spurred revolution in math and science education get started in this country?  Was it an act of Congress?  Or was it a broader coalition?  Maybe this is exactly the way to get started.  I do recognize the concern voiced in this Education Week blog post:

In the first year of a four-year program, Porter-Gaud instructors lead units on robotics, game programming and DNA mapping. In the third, they educate students about opportunities to use computer science knowledge to become entrepreneurs.  Would federal intervention help encourage similar unorthodox programs, or would it over-standardize and hinder creative teaching of what can be a dynamic and diverse subject?

August 2, 2010 at 12:26 pm 1 comment

Future of Tablet Textbooks

I attended an Apple-offered seminar this last week at Georgia Tech on the future of mobile media and higher education.  Most of it was show-and-tell about cool books and apps available for the iPhone, iPod Touch, and iPad platforms.  What I found most interesting (and what I went to hear about) is where Apple sees textbooks on this platform.

Apple really doesn’t know, but they have a direction that they’d like to see.  They think that the first iPad-based textbooks are going to come out as apps available through the App Store.  There are some pretty stunning ones like the Elements book-as-app.

But that’s not Apple’s preferred path.  Apple would prefer to have textbooks come out as EPUB books, read through their iBook reader.  (Having used Kindle reader for over a year now, I find the iBook reader flakey and annoying, but I trust that there will be more stable versions than 1.1.)  Apple is hindered by the fact that EPUB is an international standard that they don’t control, and current EPUB books can’t do everything that one would want a Tablet-based textbook to do.  The current EPUB standard allows for embedding of some HTML links to audio and video (for example), but doesn’t allow for the rich simulations that we’d like to see embedded in future digital textbooks.  Apple is pushing to have the EPUB standard extended.

Now, why would Apple care?  This is the part that gets interesting.  EPUB books can be distributed through Apple’s iTunesU channel in the iTunes store — that’s the established higher education distribution channel for them.  Apps are much more tightly controlled, e.g., they have to be checked for memory leaks and proper behavior (expensive!), and they have to be signed and distributed carefully to make sure that what the customer gets is what the publisher delivered (and what Apple vetted).  Apple doesn’t want to have to vet textbooks — very explicitly.  Vetting textbooks starts to cross the line from technology into content.  Who makes sure the content is right.

I think Apple doesn’t see the problem as I do. When textbooks have the capability of rich textbooks, what makes them different from an App anyway?  Couldn’t they misbehave in the same ways as errant apps?  And don’t you want someone to do some of that content vetting?  Isn’t that what publishers do for you, when the customer-publisher relationship is working well?

It’s interesting how the distribution, cost, standards, and technology issues are overlapping here.  No clear answer, but it was interesting to see some of the possibilities laid out.

July 18, 2010 at 4:16 pm 2 comments

CMU launches robot-based CS-STEM Program

CMU won the DARPA award to address the “geek shortage” that was discussed in Wired magazine a few months ago.  I had heard that they were going to use their RobotC language, but instead it sounds like they’re going to extend Alice. That’s promising!  Looking forward to see what they produce!

A new four-year, $7 million educational initiative by Carnegie Mellon University will leverage students’ innate interest in robots and other forms of “hard fun” to increase U.S. enrollments in computer science and steer more young people into scientific and technological careers.

The initiative, called Fostering Innovation through Robotics Exploration (FIRE), is sponsored by the Defense Advanced Research Projects Agency (DARPA) and designed to reverse a significant national decline in the number of college students majoring in computer science, science, technology, engineering and mathematics (CS-STEM).

via July 13: Carnegie Mellon Launches $7 Million Initiative Using Robots To Boost Science, Technology Majors – Carnegie Mellon University.

July 15, 2010 at 10:38 am 2 comments

What are we? Chopped liver? CS left out of National Academy STEM standards

A committee from the National Academies has released a new draft set of science education standards, the first in over 10 years.  While there is discussion in the draft about the use of computers for modeling and simulation, and the definition of “science” is broad enough to include “Engineering design,” the phrase “computer science” doesn’t appear anywhere in the standards.  Science students don’t really need to know anything about computation.

Comments are sought.  I think we should ask them how they can include “technology” but leave out all of computer science, an entire discipline of science and technology.

A panel of the U.S. National Academies today released its initial description of what U.S. elementary and high school students should learn in science. The goal of the conceptual framework for science education standards (pdf of draft) is to “identify and articulate the core ideas in science in the disciplines of life sciences, physical sciences, earth and space sciences, and engineering and technology, cross cutting ideas and scientific practices.”

via Comments Sought on How to Teach Science in U.S. Schools – ScienceInsider.

July 13, 2010 at 4:36 pm 26 comments

What’s the role of the body in learning computing?

The notion of “embodied cognition” and the role of the body in learning has been popping up for me in various places recently, which has me wondering about the role of sensing and moving in the physical world for learning computing.

  • At the Journal of the Learning Sciences editorial board meeting, there was some discussion about papers on “embodied cognition” (where I joked to the person sitting next to me, “Do we do papers on disembodied cognition?” but got caught by Cindy Hmelo, co-Editor-in-Chief, then the teacher made me repeat it in front of the whole class.)
  • As Aleata mentioned, Ulrich Hoppe was strongly against the current interest in tangible programming at ICLS.  He criticized both the LilyPad and our Media Computation work as focusing on the wrong things.  These are pandering to “engagement and motivation,” and he feels that it’s more important to get students to think critically about different programming languages than we’re using now.  He believes that we should shift our focus to declarative programming languages as having a stronger mathematical base, and provided a detailed example in Prolog.
  • In the recent issue of CACM, there’s an interesting (but too short) interview with Chuck Thacker (new Turing Award winner) where he talks about his interest in tablet computers.  He suggests that the only way of getting information faster into a computer than typing is “to use a different set of muscles…writing or drawing.”
  • I’m currently reading some papers from the Spatial Intelligence and Learning Center where they talk about how we evolved learning with our hands.  The interesting question they’re exploring is how use of our hands might support learning of higher-level cognitive functioning.  Does the mere act of writing notes about complex topics help us learn those topics?  How does use of our hands in manipulatives enhance learning?

Which, of course, has me wondering about the role of these manipulatives in learning about computing.  Does the use of the robot and the textiles in the LilyPad work trigger a deep evolutionary mechanism that might be enhancing learning of the much more abstract computer science?  I don’t know, but I’m intrigued and am digging further.

One such connection that has been a focus of some of my research is the application of embodied cognition research and theory to explain various anomalies in educational research and new techniques for instruction and educational technology, as described in a recent post about an upcoming AERA symposium on embodied cognition and education I am organizing.

For example, researchers have found that attending to student gestures or using gestures while explaining concepts or procedures (for example in a math class) helps student understanding, and also having students interact with and physically manipulate models (such as acting out a story or physically manipulating a simulation) helps student reading comprehension or physics understanding.

via The Connection between Embodied Cognition and Learning: 3 Examples from Physics Education « EdTechDev.

July 9, 2010 at 6:51 am 7 comments

It’s not just CS: All of science is hurting for majors

Two competing reports suggest that it’s been pretty bad, but maybe it’s now getting better:

The number of computer science degrees awarded to U.S. citizens from 2004 to 2007 (the latest figures available) declined 27%, according to the National Science Board. But the shortfall isn’t just in computer science. Neither universities nor high schools are preparing enough U.S. students in so-called STEM subjects: science, technology, engineering, and math. While observers blame different causes — lousy secondary schools, boring college courses, lazy students — few deny a crisis exists.

For every new Ph.D. in the physical sciences, according to the Aerospace Industries Association, the U.S. graduates 50 new MBAs and 18 lawyers; more than half of those with bachelor of science degrees still enter careers having nothing to do with science. The ACT testing service says only 17% of high school seniors are both interested in STEM majors and have attained math proficiency. Even among students who begin college pursuing a STEM degree, only half wind up with one. Finding new STEM teachers has become especially urgent: As of two years ago, nearly 60% of U.S. workers with STEM degrees were 45 and older.

via Where have all the science majors gone? – Jun. 9, 2010.

In contrast, from NSF news report in June:

In 2008, there were more students enrolled in U.S. science and engineering (S&E) graduate programs than in the previous year. New National Science Foundation (NSF) data show graduate enrollment in S&E programs grew 2.5 percent over comparable data for 2007. Noteworthy was the 7.8 percent increase in first-time, full-time enrollments of S&E graduate students, and the increase occurred across all S&E fields.

June 23, 2010 at 9:37 pm 1 comment

Older Posts


Recent Posts

Feeds

July 2014
M T W T F S S
« Jun    
 123456
78910111213
14151617181920
21222324252627
28293031  

Blog Stats

  • 923,237 hits

Enter your email address to follow this blog and receive notifications of new posts by email.

Join 2,953 other followers


Follow

Get every new post delivered to your Inbox.

Join 2,953 other followers