What would convince faculty in other disciplines that programming is useful?

October 26, 2018 at 7:00 am 34 comments

Recently I came across an article from the journal Issues in Information Systems, “Faculty perspectives on the information technology and analytics requirements of business students.” The authors surveyed 204 business faculty from 20 different universities.  They found that “[N]early a third of respondents (32.6%) felt that computer programming skills should not be required at all. Interestingly, the same number (32.6%) also believe that Calculus should not be required of business students.”  Below is the table with the results.  About a third of faculty actually thought that all business students should take a three credit hour course in programming, but a third also felt that it shouldn’t be required at all. Details in the table below:

business-faculty

I’ve been working with the Georgia Department of Education on a new kind of pre-calculus course that uses computing to demonstrate the pre-calc concepts in a variety of contexts, e.g., scalar multiplication of a vector by reducing red in all the pixels in a picture, matrix multiplication by doing transforms of objects in 3-D space, periodicity of functions (like trigonometric functions) to generate sounds, etc. We did a careful mapping of each pre-calculus learning objective to relevant computing demonstrations, with multiple possible computing contexts for each pre-calculus learning objective. The course was rejected by the mathematics oversight board today. They didn’t buy it at all.  Among the responses: “The description of the course states that it is ‘designed to prepare students for calculus and other college level mathematics courses,’ which they believe it does not” and “Members feel that computer science is not mathematics and should not be replacing a mathematics course.”

I’m struck by these two stories.  For me, programming is this useful new notation that can enhance learning in many disciplines.  I’m swayed by the results with Bootstrap and with the CT-STEM effort at Northwestern. I hadn’t realized the extent to which the teachers in the non-CS disciplines were not buying the story.

  • Business faculty are clearly dubious about the benefits of programming for business students.  I wonder if they’ve done the studies about how many business school graduates use programming (from SQL queries and spreadsheet macros, to data analysis and even modeling and simulation) in their daily jobs.
  • Mathematics faculty are clearly dubious that (a) programming to apply mathematics topics leads to more mathematics learning and (b) computer science is even related to mathematics.

These create an interesting set of research questions to me. Why are faculty in non-CS disciplines dubious about the advantages of programming for their students?  What do they think programming is?  Maybe they’re right — maybe “programming” as we are currently defining it isn’t worth the credit hours for their students. How could we re-define programming (and programming languages and tools) to make it more useful?

Entry filed under: Uncategorized. Tags: , , , .

How Google is supporting computing education research Novum Organum: The original “How To Not Be Wrong”

34 Comments Add your own

  • 1. Tom Morley  |  October 26, 2018 at 7:12 am

    Two comments: One: When I was teaching a mathematica based calculus course, several other mathematics faculty worked behind the scenes with the students to complain about the course, and argue that the course should be shut down. Two: The real purpose of most precalculus courses is to provide for additional facility in symbolic computations.

    Reply
    • 2. Mark Guzdial  |  October 26, 2018 at 10:44 am

      The latter point is explicitly something I’m pushed in an NSF proposal around this course. Have you seen this great new work by Phil Sadler and Gerhard Sonnert https://phys.org/news/2018-07-mastering-prerequisitesnot-calculus-high-schoolbetter.html ? We are proposing that the Precalculus+CS course would be a great successor to a Precalculus course, instead of high school calculus and before college calculus.

      Reply
      • 3. Tom Morley  |  October 26, 2018 at 1:08 pm

        I afraid the slowing down of proliferation of AP courses, including calculus, in high schools is a losing proposition. I couldn’t agree more with the basic proposition, though. The problem is that school administrators see AP course numbers as important in assessment of schools. There are school systems nearby that pull students from AP calculus courses so that they can review algebra I for the high school state mandated tests.

        Reply
  • 4. gregoryvwilson  |  October 26, 2018 at 7:26 am

    I wonder what their responses would have been if the question was about “data analysis” rather than “programming”? I also wonder: what was the last thing from outside their discipline that they incorporated into it, and how did its advocates win their case?

    Reply
    • 5. Austin Cory Bart  |  October 26, 2018 at 10:01 am

      This was my first thought as well. Media Computation isn’t really a very authentic context and it’s difficult to know how to translate image manipulation into data analysis (unless you have a CS degree). The latter is a skill that I think most people external to CS would agree is useful. Either you have to convince them that the MC stuff is useful (which Imagineering didn’t do), or you have to teach them the stuff they think is useful.

      Reply
      • 6. Mark Guzdial  |  October 26, 2018 at 10:52 am

        I’m sorry that my two stories were confusing, Austin. The first story, about the journal article surveying business professors, has *nothing* to do with Media Computation. Neither the paper nor the survey said anything about what people were doing with the programming or what the programming would look like.

        There are a lot of efforts here at Michigan and back at Georgia Tech that are emphasizing teaching data science to non-CS majors, and I’m a proponent. I’ve been arguing for years that giving students they find is useful is the way to motivate students (and probably non-CS professors, too) to care about computing. The part that I’m concerned about is I’ve seen *no* studies showing that non-CS majors *want* to learn data science. Is that motivating for them? We developed MediaComp in a year long process with multiple focus groups. I can argue that students *did* want to learn about digital media and how to manipulate it via program — I’ve got data to back the claim. Where’s that for data science?

        Finally, if you read the “Imagineering” paper to say that students didn’t think MediaComp was useful, then I didn’t convey the point well. They didn’t think that they would use MediaComp programming in their degrees or jobs, but totally bought it as being relevant and useful. I recommend the MediaComp retrospective paper (https://doi.org/10.1145/2493394.2493397) where I review the multiple studies demonstrating the “relevance” claim.

        Reply
        • 7. Austin Cory Bart  |  October 26, 2018 at 1:08 pm

          I see now, sorry for the mis-parsing of the two stories.

          Well, at the risk of self-quoting, I can provide a little, preliminary evidence that non-CS majors want to learn data science. Cause I did my dissertation on it. Obviously, there are many issues with such studies, but I think it gets at some of the questions you are proposing. If you check the graphs on the third paper, you can see students’ perspectives on potential introductory contexts – no sig diff between Data Science vs. Media Comp (which were the two highest), but they beat a number of others. You might find the data interesting, although of course I’ll be the first to tell you all the limitations of the work 🙂

          Dissertation: https://acbart.github.io/papers/Bart_AC_D_2017.pdf
          Sigcse2017 Best Paper: https://acbart.github.io/papers/p66-bart-inroads.pdf
          Sigcse2018 Follow-up paper: http://people.cs.vt.edu/~tilevich/papers/sigcse2018.pdf

          Yeah, I really am over-simplifying the Imagineering paper – but do you see what I mean that students have different perspective on the Usefulness of data science and media computation? One gets them a job, one is more abstractly “useful”. I know it sounds like I’m splitting hairs, but I think there are students (and faculty, and other stakeholders) that have different perceptions of these activities. I will always remember when my wife took her first CS course as a Dairy Scientist. She made a really fun game, and thought it was really cool, and was very mad that she had learned nothing practical for her long term career plans in Dairy Science. I know it’s useful, and you know it’s useful, but some chunk of students might not be able to make the connection.

          Obvious solution for our CS courses: mixed contexts. Get wide coverage. But I definitely see the real headache when we’re trying to squeeze into the overcrowded K-12 space…

          Reply
  • 8. Bonnie  |  October 26, 2018 at 8:16 am

    Most of what computer science majors learn, and do after graduation, is not mathematics – it is engineering. Engineers create new things that never existed before, and that is exactly what we are doing when we build programs. I have noticed over and over that students who are really topnotch at math are not always the best at programming, because the thought process is so different. I have noticed that the students who do best in programming courses tend to be students who are competent in math but not necessarily at genius level, but who ARE really good, organized writers. So I agree with your math professors that, with the exception of some specialized areas like theory of computation, that computer science is not a branch of mathematics.

    Reply
    • 9. Mark Guzdial  |  October 26, 2018 at 10:46 am

      Completely agreed, Bonnie. I think we require too much and probably the wrong kind of mathematics for CS majors. But we’re arguing something different — that computing is a great place to understand mathematics, to put it to work, and to develop intuitions.

      Reply
      • 10. orcmid  |  October 26, 2018 at 12:57 pm

        I agree with the notion that most programming is a form of engineering. That does not mean mathematics is irrelevant, especially mathematics of a concrete nature. The stretch to calculus is difficult because of continuity and cardinality issues, but understanding the stretch is important where precision matters, both for inputs and for approximate calculation.

        It is also important to appreciate the difference between mathematics with its logical deductions/proofs and calculation with the limitations of validation and verification that still lead to reliable layering of abstractions.

        A simple argument of relevance is that models of computation can be established mathematically and shown to have computational interpretations. While the intended interpretation is of practical significance, it is mathematical in nature. Computational models are a stepping stone to how logical deduction is relevant to computation (and vice versa in appropriate cases). Although this is not the sort of thing that might show up clearly in an introduction to CS concepts, it can be revealing to both the mathematically inclined and those with a computational and programming perspective.

        I’ve been noodling around explanation of the math-computer connection in some recent work posted at https://orcmid.wordpress.com/2018/10/16/miser-project-interpreting-obs-as-data/ including its predecessors and subsequent posts in-progress.

        Reply
  • 11. zamanskym  |  October 26, 2018 at 9:08 am

    Going from business professors to the business world, I don’t find this surprising at all (although it is disheartening).

    While we live in this bubble of tech is everywhere, there are huge swaths of businesses where they don’t leverage tech at all. I have many friends ranging from brokers to insurance people and other fields who lament on how little they leverage tech/programming and how they keep fighting with their company’s IT people to give them just a bit of access so that they can leverage their rudimentary programming skills to what would be great affect.

    On the other side I also know more than a few tech professionals who work for a variety of major companies doing things that anyone with just a bit of CS / Programming background could accomplish. These people are making a nice living doing such simple work that some feel they’re cheating the companies. One if fact got out of the business because he felt he was losing his edge doing what he viewed mindless work.

    Reply
  • 12. alanone1  |  October 26, 2018 at 10:31 am

    I would ask “programming for *why* in *what*?

    It’s likely that most of the oppositions cited here are various manifestations of xenophobia + “local different goals”, but if serious cases were to be made, then I think a lot more effort has to be put into the computer side of things, both in terms of proposed curricula, and in the tools within the curricula.

    Most academic subjects (in K-12 also) are usually a lot more about the hurdles to be jumped along the way than to help students grok “deep essences”. E.g. “Calc” usually doesn’t have a lot of either “math” or “calculus” content, but is usually much more about various kinds of methods to “solve problems” within the agreed on framework. I claim that this is very much the case in computing as well (let’s not confuse things by using the oxymoron “computer science”).

    And, as some of the other commenters noted, the connection between computing and math — which could be rich — is in practice quite tenuous. Many things used in computing are used for their effect — and without real understanding. A good example is transformations of coordinates using matrix multiplications. How many computing students understand what these are, how they work, why they work, how they are a much larger powerful idea, etc? I’m guessing that UCLA is typical, and there the case is that the students just use tools without any real understanding.

    Perhaps even more important — not just for business, but for math as well — is how “aggregate reasoning” can be developed to be reasonably reliable. The learning of “statistics” is a disaster everywhere I’ve looked, and my colleague Judea Pearl has done yeoman’s work over many years to try to put probabilistic reasoning involving causes on both a mathematical and scientific footing.

    If we can finally get to “in what?”, I think computing professors have to ask whether any of the mainstream languages are really suitable for either “math enrichment” or “elevating business thinking” (another oxymoron?). I don’t know what I’d choose, but I think I would start by taking a deep look at Stephan Wolfram’s suite of languages/systems coupled with new curricula whose aim is to instill more real understanding, not just “use” or “hurdle jumping”.

    Reply
    • 13. Mark Guzdial  |  October 26, 2018 at 11:02 am

      Alan, I could write another blog post about what I’m trying to do here in Michigan for each of your points. I strongly agree.

      I’ve written one NSF proposal and am developing several collaborators here at Michigan to explore the theme: What should our programming languages look like to be a good match for the content in different disciplines? Bootstrap makes a great argument that their form of Scheme is a good match to algebraic notations. I know that Shriram Krishnamurthi has been thinking a lot about the match from Pyret to Physics in their new curriculum. I’ve proposed (to NSF) do hold participatory design sessions with great high school teachers (from multiple disciplines) with different kinds of programming notations (including Wolfram Language, Scheme, and GP) to express different ideas, and have them work with us to say: What works? What is a bad match to their discipline and the concepts they’re trying to teach? What will students understand? What will be most effective for teaching?

      As I dig deeper into the “Big History Project,” I’m realizing that much of the STEM content in there (and there’s a *ton*!) is about probability and scale. For example, even though the amount of metals in solar nebula is very small (2-5%), the cloud is so big that planets can form, but over large scales of time because you’re dealing with the probability of these metals colliding. I’m trying to understand how social studies teachers teach this, and what kinds of modeling and simulation tools we can provide to help students get an understanding of this. (I’m looking forward to digging into Pearl’s new book.)

      Reply
  • 14. gasstationwithoutpumps  |  October 26, 2018 at 2:53 pm

    There are two different concepts that seem a bit blurred here: teaching subject X using computation, and teaching computing with subject X as a theme. Both are valuable, but they are different.

    Teaching X using computation: I home-schooled my son (and simultaneously taught myself) calculus-based physics using the Matter and Interactions textbook, which relies heavily on students building computational models—especially for things that don’t have closed form solutions (like pendulums without the small-angle approximation). This approach is really good for students who already have a computational mindset—it is an excellent way to teach physics to CS majors. Whether it helps students struggling with both physics and computation is not so clear to me.

    Teaching computation with theme X: Our department created a course “Research Programming in the Life Sciences” which teaches Python as a first programming language, but all the exercises and examples are drawn from biology and bioinformatics. The students do a project at the end of the 10-week course that is interesting from a biological perspective and that would be challenging for a student with a couple of years of programming courses, but no practice in applying computation to real-world problems.

    We later created a follow-on course in Scientific Visualization, which is intended both to teach students what graphs and figures are meaningful and how to create them in matplotlib. It has goals on both sides: teaching X and teaching computation.

    Reply
    • 15. alanone1  |  October 26, 2018 at 2:59 pm

      Each of these sound really interesting and good!

      Reply
      • 16. gasstationwithoutpumps  |  October 26, 2018 at 5:26 pm

        Both of the courses we created have been popular with the students and seem to meeting a real need that is not met by any of the computer-science department courses. It may help that we have some of our best faculty creating and teaching these courses, and that we’ve kept the size down (80 students a time, twice a year for the programming course, 60 students a time once a year for scientific visualization)—luxuries that the computer science department has not had with their intro courses, which have 300 students at a time.

        If CS had the luxury of teaching 4 different courses as their intro course, instead of just one, they could tailor them to different audiences (assuming that they could figure out what the audiences were and create appropriate courses). For the life-sciences programming course, we had it created by a biologist whose PhD is in bioinformatics—someone who knew both what questions were interesting to biologists and what computational solutions were feasible for beginning programmers. (Note: this course is separate from the intro bioinformatics course, which primarily uses existing tools to address biological questions.)

        Similarly, the scientific visualization course was created by a junior faculty member who was annoyed that none of his students (grad or undergrad) could produce a decent figure for publication.

        Starting courses from a perceived need rather than just to teach something that students may need later on generally results in better courses, at least if the course designer also sneaks in foundational material. A big problem with most intro courses (in any field) is that they don’t address interesting problems, but just try to set students up to do something interesting later on—a lot of students drift away before ever getting to anything interesting.

        Reply
    • 17. Mark Guzdial  |  October 27, 2018 at 9:08 am

      I agree with your distinctions. The two stories in the blog post are an example of each. Teaching X with computation is the one that I’m more interested, because I’m interested to see if we can find synergies that lead to learning in both.

      Reply
  • 18. Dale  |  October 26, 2018 at 7:49 pm

    When I was in technical school for electronics, we had a course called *Mathematics for Electronics*, which had all the math that we needed to do all the calculations we would have to do. For instance, impedance calculations require knowledge of and how to manipulate imaginary numbers.

    Maybe we need similar classes for other disciplines, such as “Computation for …” or whatever may apply, where just the computing, programming, and mathematics that applies are taught.

    Reply
  • 19. dennisfrailey  |  October 26, 2018 at 9:39 pm

    As a software engineer for over 50 years, I too question the usefulness of programming for non-computing majors, beyond a bare bones, basic introduction so they learn the concept. Here’s why:
    – in my experience, programming is only an entry level job for most computing professionals, especially those who aspire to a more responsible job than computer programmer, and I think it important that computing students as well as others learn other topics that may be more important to their ultimate careers such as software design, how to define good quality requirements, how to devise effective tests, how to estimate the cost of developing software, how to track the progress of a software project, and how to lead and manage a software team. When I was hiring people for careers in software engineering, a student who has average programming skills but has shown strong organizational or leadership skills will rank higher than someone who is a crackerjack programmer but has shown little evidence of leadership and organization/management skills. The student with the leadership and organizational skills will have much more long term potential to take on responsible positions in a company, even one that is highly dependent on technology.
    – the way we program – the languages, development tools, and paradigms – changes very quickly and the skills one develops with a particular set of languages, tools and paradigms will quickly become obsolete. So although it is important for students to understand what programming is, it is not important for most of them to become highly skilled programmers.
    – computer scientists and others are developing ways to generate software automatically from things like design models or even requirements models. Today, tools such as MATLAB and Excel will generate the code needed to do what their users want them to do. This often involves extensive software, but the people using such tools never see a line of code in anything we would consider to be a programming language. But they will see mathematical formulas and need to know a lot about math and statistics

    My bottom line: for a computing professional position, give me an average programmer with good writing and presentation and organization and leadership skills any day. For a business or other non-computing professional position, the need for programming knowledge is even more minimal.

    One other point: I think our field is doing a great disservice to many by over-promoting things like coding boot camps, programming contests, and such. We are generating a large number of individuals who think learning to program is a path to a high-paying career. It may lead to a high paying job for a few years, but their programming skills will be obsolete by the time they reach mid-career and they may find themselves out of a job if they have not developed other skills.

    Reply
    • 20. Mark Guzdial  |  October 27, 2018 at 9:09 am

      Dennis, you’re not swayed by the research on end-user programming and conversational programming, suggesting that the number of programmers who aren’t software engineers are more than a magnitude greater than the software engineers?

      Reply
      • 21. dennisfrailey  |  October 27, 2018 at 2:53 pm

        I agree that end user programming is already many orders of magnitude greater than that of software engineers. But what are they programming in? Probably not the same things the software engineers are programming in. Moreover, the nature of that “programming” is changing all the time. Just as it no longer makes sense to teach computer science and software engineering majors to become excellent assembly language programmers, it seems to me that it makes little sense for us to teach a business major how to be a very good programmer in Java or Ruby or C++ or whatever – they would be better served by learning very basic fundamentals about computers and programming and given the knowledge and skills to make maximum use of higher level “languages” such as MATLAB or Excel or web page development tools or the even more powerful “programming” tools that will undoubtedly come along in the future. In other words, they need to know more about things like math, statistics, how to write well, how to organize and manage a large, complex project, and so forth. They need to learn how to utilize computers effectively, not so much how to program them.

        Reply
        • 22. gasstationwithoutpumps  |  October 27, 2018 at 5:03 pm

          Business majors should learn Excel programming, since spreadsheets seems to be a popular way for them to communicate. Python may be a better choice than MATLAB for them, though, as they generally don’t need the more esoteric things in MATLAB, and Python provides the stuff they need in an easier-to-learn language.

          I agree that software engineers (who tend to be managers, rather than programmers) don’t need assembly language, and most CS students only need to know enough to understand roughly what a compiler does. Computer engineers and embedded-system designers, however, still need to learn assembly language, though it is usually not necessary for them to become excellent ones—just good enough to write a few lines of code in the places where optimizing compilers still don’t quite cut it, and to check that the code being produced by their compilers is being linked correctly. When you are dealing with very limited flash and RAM, optimizing linker maps is still a relevant job skill.

          Reply
        • 23. Mark Guzdial  |  October 28, 2018 at 10:41 am

          Nobody said anything about being a “very good programmer,” and I agree that “software engineering” has little to offer end user programmers. They need a different kind of education. We need to be flexible to think about what we have to offer and what they need to learn.

          Reply
  • 24. Kathi Fisler  |  October 27, 2018 at 7:09 am

    Understanding how faculty in other areas perceive programming is clearly relevant to this conversation. But it’s also important to understand how these faculty perceive their own disciplines. I suspect that a CS lens affects how we perceive other areas — we see the overlap potentials because we see the other disciplines a bit differently.

    Lately, I’ve been closely following Jo Boaler’s work on mathematical mindsets, as well as the literature on mathematical sense-making. That work tries to move K-12 math education beyond calculation to modeling and focusing on mathematical relationships. I expect programming or computing would resonate rather differently with someone with a calculation vs sensemaking view of math education.

    As to the data science point: yes, data science would likely be more compelling on the business side. But that too could become just as much about basic analysis skills as CS is often viewed as basic programming skills. It’s high time we embraced a broader “data-centric” view of introducing computing — one that draws on modeling information through data (from spreadsheets to linear data structures to trees), on understanding what sort of techniques get used to analyze data with different models (from statistical analyses to basic programs that can traverse complex data), and on how different data organizations affect issues such as processing and privacy.

    For programming educators, this means a shift away from control-dominated programming to a data focus.

    I’m in the middle of my first collegiate offering of “data-centric introduction to computing” (CS-0111 at Brown), where we go from data science to data structures, with a lot of emphasis on designing data organizations for different tasks. I have students from around campus, some potential majors but mostly non-majors.

    I’m not claiming that “make it data centric and others will see the light”. I am saying that I suspect there’s are sizable gaps both within other disciplines and within CS as to how we see our respective disciplines and their potential interactions. We’re all going to have to adjust to figure out where (if anywhere) the common ground lies.

    Reply
    • 25. Mark Guzdial  |  October 27, 2018 at 9:10 am

      This sounds so great, Kathi! When we were first building MediaComp, I went around to faculty in other disciplines to ask, “What do you want your students to know about computer science?” I was surprised at how many of them told me things that were data-centric. For example, the architects really wanted their students to know why extending a line in Photoshop wasn’t the same as extending a line in a CAD tool, that the underlying data structures were different.

      Reply
      • 26. gasstationwithoutpumps  |  October 27, 2018 at 4:56 pm

        Both you and Kathi seem to have conflated “data-centric” with “data-structure-centric”. The two are not the same. When using computation in other fields, the data structure is rarely of interest, but the data is. Occasionally, the data structure is important (generally for efficiency or security), but most of the time it is not. Even when the data structure is important for efficiency (as with the Burrows-Wheeler transform to index genomes), the details are generally only of interest to a small number of programmers.

        Reply
        • 27. Mark Guzdial  |  October 28, 2018 at 10:18 am

          Nope, I’m not conflating. The architecture faculty I spoke with were squarely data-structure-centric. I’m sure that you’re right about the role of data and computation in bioinformatics, but not in architecture.

          I had two interviews with architecture faculty when I was developing MediaComp. The first faculty told me that many of his students are artists, and they care a lot about the look of the images that they put in their pin-ups. But he was concerned that they had to understand that a line in Photoshop was just pixels while a line in Illustrator or a CAD program might drive an automated machine to help produce the figure. I don’t think that faculty member cared about the values of the pixels — it wasn’t the data. He wanted students to know the difference between the data structure.

          The second faculty member was even more adamant. In his classes, students would drive automated cutting machines to construct things like furniture or spiral staircases. He also wanted students to understand the differences between pixel and object drawing systems, because he explicitly had students do some programming. To drive an automated process to build the treads and risers for a specific location, he’d have students program something with a loop that generated all the appropriate objects for the cutters.

          In fields like yours, where you’re analyzing data, I agree that data-centric makes sense. Architects are making stuff. They’re not analyzing data. They do care about structuring their digital stuff in the right data structures so that it can be used in the right ways.

          Reply
          • 28. gasstationwithoutpumps  |  October 28, 2018 at 11:07 am

            You said ” I was surprised at how many of them told me things that were data-centric. For example, the architects really wanted their students to know why extending a line in Photoshop wasn’t the same as extending a line in a CAD tool, that the underlying data structures were different.”

            I think that you meant “data-structure-centric”. I’m not disputing that the architects wanted to make the distinction between raster and vector graphics —indeed I have to make that distinction to my students at times, just objecting to call that “data-centric”.

            Reply
            • 29. Mark Guzdial  |  October 28, 2018 at 12:39 pm

              Ahhh — now I get it. Yes, better term.

              Reply
  • 30. Kathi Fisler  |  October 27, 2018 at 5:37 pm

    I don’t think I am conflating data-centric and data-structure-centric. My course moves from one into the other, using the limitations of tabular-shaped data for modeling certain problems to motivate the migration. Before we get into data structures, we are talking about issues like noise, errors, joining, and other issues that affect the use of data in the more data-science sort of analysis. We talk about choosing datatypes for table columns to facilitate certain kinds of analyses. That too is separate from data-structures.

    I do think security–or at least separation of responsibility–is a concern with practical importance. Moreover, this is something students don’t seem to have any prior exposure to. This doesn’t need fancy data-structures — you can do this just by talking about the collection of spreadsheets that data comes from and who has control/responsibility for them.

    Whether students are looking at spreadsheets of atomic data or data structures, there are habits of looking for patterns, exploring your data, and using your findings to decide how to analyze and process data. I see value in showing students these ideas in both data-centric settings.

    Reply
  • 32. Briana Morrison  |  October 29, 2018 at 9:30 am

    In considering the table presented in the post – I wonder how different the results would be if you asked: a) employers of those business school students and b) business PhD students going into academia (or new business school faculty only 1-2 years in).

    I’ll suggest that more senior business school faculty likely don’t program themselves and don’t see the need for it – wasn’t around when they learned, so it must be okay. I would almost guarantee that employers want their employees to know how to program – at least SQL queries and Excel. My point being that just because faculty say so doesn’t mean it’s the best idea.

    Secondly, I was appalled at the numbers for Business Ethics: 28% said 0 or 1 hour. Sad face.

    Reply
    • 33. Jim Huggins  |  October 29, 2018 at 1:13 pm

      I wonder if those results are a result largely of “Not Invented Here” syndrome, or related maladies. Having been involved in faculty governance for far too long (sigh), I’ve seen that curricular design is inevitably caught up in local politics.

      Suppose we find a business faculty member who wants to add some sort of computational thinking course to their curriculum. Curriculum design is zero-sum; if a CT course goes in, something has to come out. Every other course has its champion, who will insist that knowledge of 18th century buggy whips is vital to 21st century professionals. And so the idea will die out … until the buggy whip champion also dies, at which point there will be a mad scramble to see who can claim that space in the curriculum.

      Reply
  • […] towards that goal for the last four years. But it’s a hard sell. I told the story in 2018 (see post here) about how the mathematics teachers rejected our pre-calculus course that integrated computing. How […]

    Reply

Leave a reply to gasstationwithoutpumps Cancel reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Trackback this post  |  Subscribe to the comments via RSS Feed


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

Join 11.4K other subscribers

Feeds

Recent Posts

Blog Stats

  • 2,096,042 hits
October 2018
M T W T F S S
1234567
891011121314
15161718192021
22232425262728
293031  

CS Teaching Tips