FAQ for educators

KieranHi, I’m Kieran Mathieson, the creator of CoreDogs. I’ve been teaching people about computers for 30 years. CoreDogs combines Web tech with learning theory, and my own experience.

If you have a question that’s not listed, please let me know. You can send email to kieran@coredogs.com.

General questions

What is CoreDogs?

Who is CoreDogs for?

How is CoreDogs different?

Do you want feedback?

Lesson content

How were the topics chosen?

My favorite topic is missing.

Why are HTML, CSS, and JavaScript all mixed together?

I don’t teach programming.

Money stuff

What does CoreDogs cost?

What software do students need?

Running a course

Is CoreDogs good for on-line courses?

How do I give assignments?

How do I track student progress through the lessons?

General questions

What is CoreDogs?

CoreDogs is a set of lessons on Web technology. The lessons are gathered into books.

  • The short Foundations book does two things: (1) explores what makes a Web site “good,” and (2) examines a little of the infrastructure under the Web.
  • The ClientCore book covers HTML, CSS, JavaScript, and jQuery, a popular JS library that makes coding much easier.
  • The ServerCore book covers basic PHP and MySQL.

You can see the individual topics in the Lessons menu. It’s on every page.

Who is CoreDogs for?

CoreDogs helps students understand how Web sites and applications work. They can use this knowledge to:

  • Create simple Web sites for small businesses, student organizations, nonprofits, etc.
  • Work with content management systems (CMS) (like WordPress, Drupal, and Joomla) and other Web applications. People who understand core Web technologies can install Web software, configure it, upgrade it, and customize it. They can better understand support forums, tutorials, and books.
  • Work with Web professionals. They can supervise teams and manage contractors. They can better manage outsourced Web projects.
  • Prepare for more advanced courses. CoreDogs gives students a solid foundation for learning more about the Web.
  • Satisfy their technical curiosity.

As well as understanding the Web, CoreDogs helps students learn simple, pragmatic techniques. They learn enough to, for example, create a menu bar with image rollovers.

CoreDogs covers relatively few topics. It trades breadth for a quality learning experience. More on this below.

CoreDogs can be, among other things:

  • A textbook for a course on client-side Web technology in a business, BIS/MIS, education, or IT program.
  • A textbook for a basic course on server-side Web technology in a business, BIS/MIS, education, or IT program.
  • A supplement for an IT survey course.
  • A textbook for students doing independent study or project courses.

CoreDogs does not aim to create programmers. It does not cover object-oriented programming, error control, or other topics that would be part of a full programming course.

CoreDogs does not aim to train professional designers. There are lessons about color, typography, layout, and such. But only the core parts of those complex topics are discussed.

How is CoreDogs different?

The main difference between CoreDogs and other resources is that CoreDogs follows best practices from learning research. Constructivism and phenomenography have been particularly important, but ideas were drawn from other places as well.

If you want more detail, there’s a paper on the learning theory underlying CoreDogs. My conception of CoreDogs changed a little since the paper was written, but most of it still applies.

Here are some highlights.

Learning in context

There are two aspects to this. The more obvious is that technology is explained in the context of real tasks. CoreDogs uses stories to help students understand why sites are designed the way they are. Stories help make abstract concepts more concrete.

But there is another aspect to context. Learning itself is a task. In fact, the fundamental orientation of CoreDogs is to make the task of learning easier.

Stories can help with this aspect of context. Renata and CC are two characters used throughout the CoreDogs books. They are students themselves, one an enthusiastic youngster, the other older and with some business experience. They ask questions, and respectfully challenge the author. In other words, they model how students should act.

In a way, CoreDogs is the story of Renata and CC learning how the Web works.

Learning rate

You know that some topics are harder to learn than others. Programming, for example, is challenging for many students.

One way to sequence a course is to teach HTML, then CSS, and then JavaScript. But the last topic is so much more difficult than the first two, that you end up a learning curve like this:

Topic difficulty

Figure 1. Topic difficulty

Students are coping with the HTML and CSS material, and then, all of a sudden… Ouch! They get frustrated, you get frustrated with them, and it’s all happening near the end of the semester.

I know. I’ve done this in the past. Ack!

Maybe this phenomenon needs a name. Hmmm, how about we call it the “JavaScript elbow?”

CoreDogs is designed so that no topic transition creates a sharp elbow like that. For example, CoreDogs introduces JavaScript early, and then interleaves HTML, CSS, and JavaScript throughout the lessons. You end up with:

Topic difficulty in CoreDogs

Figure 2. Topic difficulty in CoreDogs

Both Figure 1 and Figure 2 end up in the same place, but there’s no sharp elbow in Figure 2. The trade-off is that the early lessons in Figure 2 are more difficult than the early lessons in Figure 1. It’s a case of taking a small hit early to avoid a big SLAM later.

Focus on outcomes

In a traditional course, lessons are arranged around technology. The lessons have names like:

  • Beginning HTML tags.
  • Lists and tables.
  • Styling text with CSS.

CoreDogs lessons are arranged around the results that students can produce after each lesson. For example:

  • A Web page with text.
  • A Web page that can interact.
  • A Web page with images.

Students learn how to make a complete product before moving on to the next lesson. For example, the lesson “A Web page with text” talks about HTML tags like <h1> and <p>, styling text with CSS, and the aesthetics of typography. All of these together influence the effectiveness of a Web page with text.

This helps motivate students. They see they can create real results at each step.

Active learning

CoreDogs encourages active learning, to help students (1) build skills, and (2) understand concepts more deeply.

Lessons are structured like this:

Lesson structure

Figure 3. Lesson structure

The explain – example – exercise cycle takes students from reading to doing.

Exercise cycle! Tee hee. (Groan! Sorry about that.)

Exercises are embedded directly in the text. Students type their answers into the page they’re reading, keeping their work in context.

Here’s a screen shot of an exercise from an early lesson.


Figure 4. Exercise

The exercise follows the example. There’s the text of the exercise, then a “Your solution” area. Clicking it opens up a text field where the student types his/her solution, in this case the URL of a page. The solution is stored on the CoreDogs server.

The student’s solution is available whenever he or she looks at the page, from whichever computer s/he is using.

But wait, there’s more!

Each student can get a summary of the solutions s/he has saved across all CoreDogs lessons. This is a portfolio of lesson solutions. Here’s a sample:


Figure 5. Portfolio

But wait, there’s more!

Each student can let other people see his/her solutions summary page. The student selects the solutions s/he wants to expose. CoreDogs will give the student a URL to email to you, potential employers, parents, or whomever the student wants to impress. The report shows what the student has learned how to do. It includes links to working Web pages the student has created.

Public portfolio URL

Public portfolio

Figure 6. Public portfolio

But wait, there’s more!

Here’s Figure 4 again:


Figure 4 (again). Exercise

At the bottom, there’s a section titled “Exercise discussion.” This is a discussion forum for the exercise, embedded right into the lesson. Students can talk about the problems they had with the exercise, alternative solutions, etc. They can interact not just with people in their own class, but with any CoreDogs user, no matter where in the world that person is.

Here’s an exercise with a couple of comments.

Exercise discussion

Figure 7. Exercise discussion

Flexible, independent learning

CoreDogs supports various teaching styles. Students can work through CoreDogs lessons on their own, and you can spend your class time answering questions. Or you can lecture on the material. It’s up to you.

CoreDogs is ideal for on-line classes. You can just turn students loose. Answer questions, give them assignments.

Humor and informal writing

CoreDogs writing is informal, and in the “voice of the expert” (a term from the literature). The expert – Kieran, that’s me – explains why things are being done, and what challenges students will encounter in the real world. The writing is as from a master to an apprentice. The lessons do not read like a reference book.

There’s the occasional joke as well. Not enough to appear flippant, but enough to be human (or dog).

Do you want feedback?

Yes, yes, YES!!!

What do you like? What don’t you like? What would make it more useful?

There’s a feedback area on every page. You can see it to the right. Use that, or email kieran@coredogs.com.

Feedback will help CoreDogs help you and your students. Please! I’m begging you! Send some feedback!

Lesson content

How were the topics chosen?

There’s more to learn about the Web than can be taught in any course. What we leave out is as important as what we put in. And half of what we teach will be obsolete in a few years.

CoreDogs focuses on core topics that are important now, and will be in the foreseeable future. “Important” means that a topic is used on the vast majority of Web sites.

Some people will disagree with my choice of topics. For example, CoreDogs introduces basic JavaScript programming. Why? Because dynamic interfaces are becoming commonplace. CMS like WordPress and Drupal use JavaScript extensively. Knowing a little JavaScript will help students, for example, customize their CMS sites.

Students learn three different types of knowledge:

  • Declarative knowledge. Facts, like what the <h1> tag does.
  • Skills. Sequences of actions that achieve a goal.
  • Attitudes. Beliefs held by the Web community of practice. E.g., “reuse is good.”

My favorite topic is missing.

Most likely, there will be topics missing from CoreDogs that you think students should know.

There’s a balance between having too much material, but not enough on important topics. I’ve gone in the “less is more” direction, but not everyone will agree with my choices of what to omit. If something is missing that would prevent you from using CoreDogs, I want to know about it. So:

Please let me know what topics are missing!

Please, please, PLEASE! Help me make CoreDogs more useful for you and your students.

Send email to kieran@coredogs.com.

Why are HTML, CSS, and JavaScript all mixed together?

This achieves two goals simultaneously. The first goal was to organize lessons around achievements. If you look at the lesson titles, you’ll see things like “A Web page with text,” and “A Web page with images.” The lessons focus on deliverables, with the products getting more sophisticated as the lessons go on.

Even simple Web sites don’t just use one technology. They use several. But they only use simple parts of each technology. For example, a basic text-only page might use a few HTML tags and some CSS for font control. So when designing the lessons, it made sense to introduce a little of each technology. The next lessons adds a little more to each one, and so on.

The second reason HTML, CSS, and JavaScript are mixed together is to make the amount of learning from lesson to lesson about equal. For example, JavaScript is much harder to learn than HTML. Adding a little bit of JS in each lesson means there is no big learning hump, as there would be if JavaScript was introduced all at once.

I don’t teach programming.

Many Web courses don’t teach JavaScript, for two good reasons. First, Web designers, artists, and others don’t need to know how to program. Second, learning to program is hard for many people.

The problem is that users are coming to expect intelligent interfaces that can, for example, make search suggestions based on a few characters typed into a search box.

The same applies on the server side. More companies are switching to content management systems like Joomla and Drupal. Designing pages for these systems often requires programming knowledge. It may be in a simplified template language like Smarty, but there are still variables, if statements, loops, etc.

People who can’t do basic programming work are increasingly going to be at a disadvantage in the marketplace. There will still be jobs for them, but there will be more jobs for people who are able to deliver more of what employers want.

I am not advocating that every student needs to take a programming course. But they should know enough to be able to, for example, integrate a JS menu system with their pages.

The programming material is CoreDogs is quite basic. It won’t satisfy anyone looking for a general introduction to programming.

But that’s not the point. The goal is to help students learn to do simple Web tasks that employers will want. More complex things they can leave to people who are actually trained programmers.

What’s needed?

What software do students need?

A browser, a text editor, an FTPish program, and a Web hosting account. The last one will cost money, perhaps around $10 USD per month. But having an account is a great learning experience. It also lets students create a site to market themselves to employers, a project that runs through CoreDogs.

Some lessons talk about other software. For example, one lesson talks about how to make good diagrams. Examples like this only use free software.

Running a course

Is CoreDogs good for on-line courses?

CoreDogs is perfect for on-line courses. The lessons are designed for students working independently over the Web. However, the social features let students interact with each other.

Of course, CoreDogs works for face-to-face courses as well. It’s particularly good if you teach in a computer lab. Students can read the material on their own, and class time can be spent on solving problems and doing exercises.

How do I give assignments?

CoreDogs is not a course management system, like Blackboard or Moodle. In my own classes, I use CoreDogs for content delivery, and Moodle to manage assignments and grades.

I plan to make it easy for instructors to give formative feedback to students. Formative feedback is not for assigning grades, but for helping students improve their work.

If you want to see particular features in CoreDogs, please let me know. You can send email to kieran@coredogs.com

How do I track student progress through the lessons?

At the moment, you can ask each student to make exercise solutions public. Then you can check them at the student’s public portfolio URL. Students see that URL each time they look at their portfolio, so they can send it to you.

I plan to improve this, to make it easier for you to track what a student is doing.


How to...