Advanced Design and Programming (ADAP) teaches principles and practices of advanced object-oriented design and programming using a semester-long project.Continue reading “Announcing Open Course “Advanced Design and Programming””
Informatics (worse: Computing science; even worse: Computer science) is the discipline of automated data processing (where automation is both human independent and dependent, and data in context becomes information). The non-IT industry has learned the hard way over the last few decades that informatics is part of their core business, not just some support function. Financial institutions, automotive suppliers, advertising agencies and so forth are all recognizing that informatics is a key business aspect for them.Continue reading “Why Informatics is Everyone’s Business in Academia”
In my previous post I noted how students and professors are often talking past each other, where some the former want to learn immediately applicable knowledge and the latter want to teach long-lasting fundamentals. I also noted that there is no contradiction here, which begs the question what professors mean when the say they want to teach fundamentals? Students may hear “irrelevant stuff nobody cares about” but that’s obviously not it. So let me explain.Continue reading “What is Meant by “Teaching Fundamentals”?”
My Twitter feed is alight with comments on Google’s six-month “career” certificate, which, according to this SVP, Google will treat as equivalent to a four-year Bachelor’s degree. Predictably, a large number of comments are from students who conclude from their own disappointed experience that all college programs are crap. They cheer on Google. Also predictably, I didn’t see a single academic professional join and comment in the discussion.Continue reading “The Place of Professional Certificates and the Significance of an Academic Degree”
Over the last 10 years, I have consistently invited industry speakers to class, to talk about their experiences, to change the pace, and to lighten up the teaching. We recently passed the 100 external speaker mark! (Also includes some academic speakers.) Time to reflect on what makes a good industry talk that enriches student learning.Continue reading “The Art of Inviting Industry Speakers to Class”
Effective writing is important, or you won’t be understood and achieve your goal. An example is to get the ordering of nouns (or adjectives) in enumerations right. Let’s pick an example: In software engineering, a software feature’s implementation should be correct, complete, and testable. So a project goal could be “to ensure correctness, completeness, and testability of feature implementations.”
The following rules apply:Continue reading “On the Ordering of Nouns in Writing”
Over on Facebook of all places, I took part in a short discussion on how, as a researcher, to have an impact on practice. It is not a convenient answer, but in my opinion, if you want to have an impact, you should go into practice yourself. You can also send your students, but this creates a generational lag of research-to-practice transfer that can span decades.
One of the suggestions of how to have an impact was to perform action research. The idea is that you are creating change in an organization where you are performing said action research. However, action research is a research method whose purpose it is to help you build out and evaluate a theory. Unless you are into critical theory, action research does not have, as a primary goal, to change industry. It is just a theory building method.Continue reading “How to Have an Impact as a Software Engineering Researcher”
Many computer science degree programs do a lousy job at teaching science. A high school student, entering university, often has a good idea what science is about, based on their physics and chemistry classes. At least, it involves controlled experiments. At university, this is rarely picked up, and computer science students are given the idea that programming something novel constitutes science. With that idea, they are often bewildered when I teach them rigorous research methods, in particular if those originated in the social sciences (like qualitative interviews or hypothesis-testing surveys).Continue reading “Traditional Theory Building and Validation in (Computer) Science”
There are lots of infographics on the web of how a professor spends their time, and they mostly miss the point. At the core, and after ten years of living it, I feel confident to say that it really is three roles that a professor in Germany has to play to be successful. I also have to say that it is pretty hard to be good at all three of them. These roles are:Continue reading “The Three Hats of a Professor in Germany”
Pay-walled publications are just that: Publications that nobody reads unless someone pays the publisher’s fee. I have no problem with that, because I don’t read pay-walled work and don’t consider it published research and prior art that I should care about.
The real problem starts with researchers and editors who expect me to find, read, and consider pay-walled work as prior art. That’s an unacceptable proposition to me and an unfair one to the world.Continue reading “The Real Problem with Pay-walled Publications”