Instructor Name:
Course Name:
Response Rate:

Jay McCarthy
C S 142 Sec-001
36/76
47%

I am learning a great deal in this course.
Average Rating

6.2/8.0

Very Strongly Agree:
Strongly Agree:
Agree:
Somewhat Agree:
Somewhat Disagree:
Disagree:Strongly Disagree:
Very Strongly Disagree:

Response
Count
8
10
11
4
0
0
1
2

Response
Rate(%)
22%
28%
31%
11%
0%
0%
3%
6%

Course materials and learning activities are effective in helping me learn.
Average Rating

6.3/8.0

Very Strongly Agree:
Strongly Agree:
Agree:
Somewhat Agree:
Somewhat Disagree:
Disagree:Strongly Disagree:
Very Strongly Disagree:

Response
Count
10
10
9
4
0
0
1
2

Response
Rate(%)
28%
28%
25%
11%
0%
0%
3%
6%

This course is helping me develop intellectual skills (such as critical thinking,analytical reasoning, integration of knowledge).
Average Rating

6.5/8.0

Very Strongly Agree:
Strongly Agree:
Agree:
Somewhat Agree:
Somewhat Disagree:

Response
Count
7
17
6
4
0

Response
Rate(%)
19%
47%
17%
11%
0%

Disagree:
Strongly Disagree:
Very Strongly Disagree:

0
1
1

0%
3%
3%

The instructor shows genuine interest in students and their learning.
Average Rating

6.9/8.0

Very Strongly Agree:
Strongly Agree:
Agree:
Somewhat Agree:
Somewhat Disagree:
Disagree:Strongly Disagree:
Very Strongly Disagree:

Response
Count
17
12
3
2
0
0
0
2

Response
Rate(%)
47%
33%
8%
6%
0%
0%
0%
6%

What is going well in class? What contributes most to your learning?
Homework is working the best for learning java and the concepts of programming. In class,displaying the code and the description given by the professor also helps.
I already understand object oriented programming as I have taken 3 courses of object oriented
programming and currently work as a programmer. I'm just trying to understand java syntax.
The homework exercises are good practice for the material learned in class. The code examples
from lecture are helpful when posted online. The lectures are entertaining and understandable.
Jay and the TAs care a lot about the students and spend plenty of time helping us, in person, online,or over the phone.
The example code is helpful.
The class runs slowly enough to let the concepts sink in. With ample amount of homework
problems, I am able to fully understand how to accomplish what is at hand and get a firm foundation
with it. The lectures are easy to understand and help solve the assignments.
It's very helpful for you to work through the code as you do. As you work through it I get an idea of
how different elements work in programming.
The exercises in the assignments are generally helpful and I learn the concepts much better by
doing the exercises.
I like the way that he shows us some of the common mistakes that people might make and the stepby step process that he shows us
Jay is creative in his teaching style and sometimes asks a lot of obviously dumb questions so wecan see that he isn't teaching it right at the moment. I think it gives us a feeling of "smartness" if we
can spot the problem and know how to fix it. If we don't he goes through to show us.
I think the fact that there are several small exercises really helps me see how java works way morethan writing one big program would. That has been really helpful to my learning.
Also, I like the group page which has helped me know what other students are doing that is useful.
I like how programming is being explained using words and concepts I can understand, as opposed
to using the complicated programming vocabulary right away. I also like that assignments areevaluated promptly. So far the class is being a more positive experience than my last programmingclass.
Talking through how to approach things. The visual changes in the code helps a lot too.
I enjoy the pace that we learn at and the structure with which each topic builds on the last it is very
logicalI love that the notes/code from class are available online. It really helps with review,trouble-shooting, and actually learning what I was simply exposed to in class. It helps me to"rememberize" it. :) The online Google group is also VERY helpful.
I believe the practices and being able to see how my code works really helps me learn. To be able
to create programs that do what I want and to build upon each new program, as in apply older
principles into the newer assignments.
having it on the board is the best thing.
I think the class is going at a fair pace and our professor and TAs are very helpful with questions. I
particularly like the e-mail system of asking questions, it's very helpful and timely.
I like the in class examples and the fact that you write the code for us in front of us.
I like how there are many different examples used during class. Also the code that was used during
the class is placed on the class website is nice.
I like how we only have exercises to do and no tests. When you go over problems like we do in thehw contributes most to my learning.
The self-discovery element of this class is definitely the most helpful in learning in a meaningful way.
The examples that are done in class are really helpful and being able to view them online laterclarifies any confusion that I have while doing the assignments.
The teacher explains concepts VERY well. Plus he offers plenty of opportunities to get the help
needed.
I enjoy the simplification and real-world connection before and the how to do it later.
I really appreciate the way the class is being taught. The fact that we are being explained principles
while at the same time going over and exercising what we are learning has been extremely
beneficial to me.
Everything is going well for me. I'm understanding everything really clearly.

I like the website and how it is set up. It is very helpful when it comes to doing my assignments.
Exercises are awesome for helping me to learn.
Everything! I was scared to take CS because I have never done any programming. I am not a CS
major. Needless to say, I've heard nightmares about the class. However, I have really enjoyed theclass so far. It's actually fun, and I'm learning a lot. I like how you go through examples in class, andintroduce us to more complex material gradually, instead of throwing us to the sharks instead. I also
love the instant feedback and google group, which helps us to be able to work on our homeworkfrom remote locations and not be stuck on a stupid mistake! Awesome job so far!
The lectures are great because you go from examples. As I have learned to program it is largely
from example code snips.
Concepts are pretty clear and material is not too hard to follow. The examples done in class andcompleting the assignments are definitely contribute the most.
The instructor is always on time, prepared, and concerned for his students. He requires that we
defend the coding that we do. The style of the class corresponds to the actual workplace. We are
given extensive on-line references.
His energetic style and his explanation of the higher principles of programming (life application evenfor non-programmers)
At least for my learning style, this class is set up perfectly. I learn best if someone explainsconcepts to me then I practice using those concepts. A lot. I guess some people have complained
about how much homework there is, but I actually like having a lot of projects because this is what
helps me remember and better understand the concepts from class. I appreciate your instantfeedback after I submit assignments, and I like having frequent homework assignments (versus justone a week or something). You're good at explaining things, so even though programming is totallynew to me, I'm never too frustrated when I go to do the homework. And when I do run into trouble,
I've found it really useful to refer to the code from class, so thanks for having that up on the website.
Doing examples in class that closely relate to the exercises we have to do at home is really helpful
in understanding what is expected of us as well as helpful in learning how to write
functions/programs effectively.
I really enjoy the examples completed in class, especially when we began to work through a
program from the "word problem" phase all the way through to the end. I enjoy learning the design
process.
The learning experience is great. The lectures are a good presentation of the material and thehomework is a great way to apply and instill things better. Class time is very intriguing and engaging,I'm not bored for a minute. Jay's attitude helps keep the spirits high in class. I find myself having "ahhah" moments when I'm doing the homework, I may have thought that I understood something reallywell but then learn or recognize much more about it once I start doing the homework.

What could be improved? How could this course be more effective in helping you

learn?
The required defense of homework was mentioned, but I feel it was inadequately described. How
much of a defense should I give? Is the program part of the defense? How far beyond saying "look!
it works!" good enough? What should be the output when you run the .java files?
Making sure the expectations of the assignments are clear. It's inevitable that some students will
wait until the deadline to attempt any given assignment, so making sure the instructions are clear isimperative. Also, it would help for those students who want to get an assignment or two ahead ofschedule.
More examples of code are needed, along with explanations of the concept being demonstrated.
The scratch code posted from class could be organized by concept with a comment explaining thatthe following block of code demonstrates concept "x".
I realized this is an introductory course, but I really feel like we could be covering a lot more material
in lecture. Jay is great at teaching what he does, but we spend 2 hours on simple things like defining
a function. I worry that we're not going to cover everything that a college-level Java class should
teach. The homework as well would be more helpful if it consisted of one difficult project due eachclass day as opposed to 10 easy repetitive exercises (although I do think the optional exercises Jay
is starting is a very good idea).
I wish there were more help with how to use and understand online documentation. Whenever i looksomething up there is a whole bunch of jargon that i don't yet understand. How can I wade throughthis more easily and find what I want?
Also, the homework is still really, really long...
More varied homework. A lot of it is using the same archetype of a program and re-arranging avariables and changing a few formulas.
You seem to spend a lot of time on maybe one (or two) subjects. This leaves you with little time totalk about the next topic. Maybe this means you'll cover it during the next lecture. But this lastlecture, with strings being the last thing on the agenda, we only spent a few minutes on it, and I
zoned out through the whole thing...
Some of the exercises are really long. Some of the assignments (all the exercises for a day) arereally long. I know you talked about shortening these, but we'll have to see how hard these
exercises are. I expect that the exercises might get more and more complicated as we go on, and if
so, we should have shorter and shorter assignments.
If it was spread out more over time. Sometimes I feel like it's going way too fast and so we might
miss a few little things here and there, but that could just be the condensed part of spring term.
Clarity of exercises. For the most part they are really understandable, but I wrote a perfectly good
program but got it wrong just because there were multiple ways to interpret the problem and I didn't
interpret it the way the professor wanted.
As far as more effective learning, I'm don't think there's a lot to be done. I'm not sure entirely but I
don't see any problems in the learning process, so to me that means it's pretty effective.

I could read the web content about Java linked to in the obj pages, to solidify concepts, but that's myresponsibility.
Maybe more direct correlation with homework problems in class. We maybe should take a breakthen get out at 11:45. The snoring kid in the back gets way loud.
Some of the assignments could be more clear
I don't know how it could be improved. It has been very effective for me. I know that's not the mosthelpful feedback, but that's how I feel.
I think it's important that we cover all that we need to know for the homework while we're in class.
Either way we seem to be able to figure it out using the Google method or with the group emails, but
it may become more difficult as the class moves along.
I think understanding the underlying structure would be the best, but that clearly just comes withtime.
I think the class could improve by being lightly more organized and having reading assignments
clearly identified.
Sometimes I think the homework assignments are worded a bit ambiguously. Also, sometimes I
think the material in a given lecture could be taught in less than 2 hours, so that we could get out oflecture earlier and work on homework.
Giving some homework problems that would be effective in real life. (I know we are in the beginningof the class and we don't know anything, but they could be a bit more challenging.)
The TA in the morning at 8am could show up on time. She is always 10 minutes late when I go at
8am and I end up just waiting for her to show up.
The self-discovery element is also the most frustrating part of this class. I think that frustration inthis teaching atmosphere might be lessened if there were equally challenging (or even morechallenging), but fewer problems to work. For example, one big problem that encompasses all of
the concepts from class.
As of now, at least for me, this course is very effective.
We could have spent more time on the first day understanding what programs/software we needed,
and what purpose each program/software served. Sometimes the exercise problems are unclear or
confusing.
There is sometimes a gap between lectures and demonstrations to the homework labs. You justmake it look to easy! ;)At this time my only complaint would be the length of the class period makes it a little difficult tofocus for the entire time, but knowing that the professor has no control over this, I have nothing to
add.
Maybe just a little bit clearer definition of what's required on the homework assignment in the
defense.pdf

I don't feel that I leave class with a very good understanding of what is needed in order to fulfill thenext assignment and find that I teach myself most everything via the links on the website.
Some of the principles that you're trying to teach are great. I liked the principle that we are creating
abstractions of complicated processes that are happening underneath. However, a lot of theprinciples that you teach are not going to stick because I know they are not going to be tested on.
Without the incentive to focus our thinking and studying, it's possible that we won't worry enough toremember some details that you know are important. I don't want to ask for an exam...but some listof key terms and maybe some sort of assessment that proves that we've internalized any important
terms, such as abstraction, may be a good idea.
I also think it would be wise to get to know the Windows user's point of view. It stole some time,trying to figure out the command prompt. The command prompt doesn't catch errors. Now that I'musing the Java Runtime Environment (JRE) called Eclipse, the process is much faster. Some of theWindows students who are less experienced in programming than I am may have suffered worse
ordeals.
I find the defenses to be tedious at times - but maybe this is because we are still doing more simple
functions/programs. I just find that I am using the same technique on a few problems in the
homework, but then I have to write a defense about each one. Maybe consider writing a defense fora "type" of problem. Then any homework problems that fall into that "type" could just be explainedonce?
As we improve on the programs being more complex instead of doing a defense paragraph weshould do more commenting of our code. Unless I'm mistaken we can solve it with a calculator or
doing it on scratch paper to test it out. Where in the real world you are going to be or at least should
be commenting your code.
Class lecture is a little slow; we could probably talk about a lot more concepts and not feelswamped.
I am always more comfortable with a class that has a text book.
Perhaps he is too used to teaching middle/high-schoolers. We spend large amounts of time in classlistening to elaborations of basic principles of logic. While I know I may not be the best
representative of the average class member, I would expect most college students to be able tocomprehend, for instance, the value of naming objects, or how to make basic logical approaches toproblem solving. Sometimes it seems as if we spend 45 minutes going over basic logic concepts
that shouldn't take more than 15 minutes.
The only thing that isn't going well is that the class is really unresponsive, which isn't your fault.
You're not boring at all, so sorry everyone just kind of sits there when you ask for classparticipation...
Oh, one more thing I guess, although I'm kind of afraid to say it. I feel like the pacing of the class ismaybe a little slow, especially for a spring/summer term. I think maybe we could spend less time oneach thing and move through more concepts than we are. But again, I'm kind of nervous to say that
because if things were faster, maybe I wouldn't be able to keep up...

Probably just clarity could be improved. Better clarifying what we are doing in class- you are very
good at explaining the steps of a process but sometimes I forget what the actual name of theprocess we are doing is which is somewhat my own fault for forgetting the names of the process, but
it would help to restate what the processes we are going through are called. Hopefully that makes
sense, I probably need to work on being more clear as well.
At this point, I am not sure. I learn best through examples, but that is most of the lecture, so I'm
good.
More definite definitions and names, such as: this is a nested object, this is what it is, this is how it
works, this is why we use it...
Sometimes I find myself knowing what to do but not knowing what it is or what it necessarily does.

What course resources (i.e. code notes, TAs, professor office hours, professor phone
calls, etc) have you used? What else should I provide?
I have used the website and it's links. So far, this has been sufficient to perform everything, so
nothing more should be provided.
If I don't see a link that helps, I use Google.
I use the mailing list and the example code posted online. If a certain concept wasn't adequately
explained in class, a TA should post some example code on the mailing list demonstrating theconcept.
I've used code notes, notes that I take, the class Google Groups page, the Oracle website, andoccasionally my roommate.
The code notes are really helpful.
n/aCode notes are the very most helpful, then the Google Group (though a lot of posts about small
student-found errors are kind of out there). I haven't been in to see the professor or the TAs in
person yet.
What I would really encourage is a textbook. This can be an online textbook if you want, or it could
be the textbook that other professors have used. I am able to get something out of the links you
post, but it'd be nice to have a really "dummed down" explanation.
Google Group, code notes are very helpful, and asking help from other students.
I've used them all minus actually calling the professor. Just providing his phone number so annoying
students can call at almost any hour of the day about dumb java problems shows to me that there's
not a lot of room he can improve here.
I have used the code notes multiple times and have used the TAs and professor office hours one
time each. I think the resources provided are adequate.
class notes, discussion--> i think it's great! well i wish that there were maybe more direct examples

to get the homework completed, but i guess that's just part of the class.
Mostly I have only needed to refer to notes I took in class and sometimes the websites provided byyou.
I've used most if not all of the online resources. My wife programs so she's helped me out too. I
haven't used the labs or TAs yet.
I really like the website, how the codes from class are posted, and how well updated it is. I also
really like the Group email idea, it really helps me understand things I don't get.
I use the code notes, the google group and the emailing. I think these are more then sufficient
Google Groups (e-mail), code notes, and website references. I can't imagine any other resourcesthat could be provided besides textbook. However, the website tutorial we're using is extremely
helpful already.
I have used office hours and TAs so far.
None. Everything seems good right now.
I have used the google groups and TAs.
professor calls, mailing list, TA office hours, code notes, resource links
The course website is very useful and I have not needed anything else thus far. The google groupis extremely helpful as well!!
I've used TAs, Google doc, code notes. I think there are sufficient resources available.
I've used the code notes but more importantly the Google Group was a great idea. I use that themost. I can't think of anything else you should provide.
I have used the code notes, the email group questions, and professor office hours which have all
been very useful. At this time I don't believe there is anything else I would recommend that you
provide.
I've used the google group, and asked questions after class.
Notes have been very helpful.
I called the professor once. I think you should post the specific hours of the TAs on your course
website if it isn't there already. It takes some time to go to the TAs and I want to be sure that I don't
waste a trip.
I have used the TA lab once, Jay once, but the google group/notes/obj links I have used each day.
I have used the websites multiple times along with the Google Groups page. I think its also great
you included audio in the last classroom lecture.
I've used the TA, professor's office hours, google doc posting site and resource links. I'd say the
only thing that's a little hard is if you have to miss class; the code from class is very helpful, butthere's no text book to help you follow along or see what was going on in the code.

Code notes. Email with the professor.
Code notes, but particularly the google group for discussion. The google-group is exceptionallyhelpful, and the TAs and Dr. McCarthy who respond very promptly.
I use the code from class a lot. I also use the websites that you put in the assignments. That's
really convenient that you put links to relevant resources right on the assignment page.
I haven't really used the TAs or professor office hours yet, but when things start getting moredifficult, I'll probably use those resources more.
I have used notes from class, professor and TA office hours, the google group and the course
website outline of how to get through a problem. I can't think of anything more that can be done
because I feel like the bases are covered as far as getting help for the class.
Up until now I have used the code notes and "emailing the professor". I do like how active themailing list is.
I use my class notes and the code from lecture every time I work on the homework. I have visited
Jay in his office hours to have him help set up my computer to run my programs quicker. I havereviewed the audio recordings from a couple classes. The google group has also been a great
resource especially while working on the homework. It is especially nice that one can post
something on the group and receive an answer quickly, without long wait times.
I don't know what else to recommend be provided for the class. This course is actually doing a very
good job of thoroughly covering helpful resources.

Instructor Name:
Course Name:
Response Rate:

Jay McCarthy
C S 142 Sec-001
20/69
29%

I am learning a great deal in this course.
Average Rating

6.3/8.0

Very Strongly Agree:
Strongly Agree:
Agree:
Somewhat Agree:
Somewhat Disagree:
Disagree:Strongly Disagree:
Very Strongly Disagree:

Response
Count
4
8
4
0
2
2
0
0

Response
Rate(%)
20%
40%
20%
0%
10%
10%
0%
0%

Course materials and learning activities are effective in helping me learn.
Average Rating

6.3/8.0

Very Strongly Agree:
Strongly Agree:
Agree:
Somewhat Agree:
Somewhat Disagree:
Disagree:Strongly Disagree:
Very Strongly Disagree:

Response
Count
3
9
3
2
2
1
0
0

Response
Rate(%)
15%
45%
15%
10%
10%
5%
0%
0%

This course is helping me develop intellectual skills (such as critical thinking,analytical reasoning, integration of knowledge).
Average Rating

6.3/8.0

Very Strongly Agree:
Strongly Agree:
Agree:
Somewhat Agree:
Somewhat Disagree:

Response
Count
3
7
6
2
0

Response
Rate(%)
15%
35%
30%
10%
0%

Disagree:
Strongly Disagree:
Very Strongly Disagree:

2
0
0

10%
0%
0%

The instructor shows genuine interest in students and their learning.
Average Rating

6.9/8.0

Very Strongly Agree:
Strongly Agree:
Agree:
Somewhat Agree:
Somewhat Disagree:
Disagree:Strongly Disagree:
Very Strongly Disagree:

Response
Count
7
5
6
2
0
0
0
0

Response
Rate(%)
35%
25%
30%
10%
0%
0%
0%
0%

I would have preferred to take this course as a combined Spring/Summer course
Average Rating

3.6/8.0

Very Strongly Agree:
Strongly Agree:
Agree:
Somewhat Agree:
Somewhat Disagree:
Disagree:Strongly Disagree:
Very Strongly Disagree:

Response
Count
0
2
1
5
0
6
2
4

Response
Rate(%)
0%
10%
5%
25%
0%
30%
10%
20%

What is going well in class? What contributes most to your learning?
As a foreign language teaching major and language tutor at the MTC, what has impressed me themost is how similar your approach to this class is to the methods I use to teach foreign languages.
Rather than trying to teach them every word and principle of grammar at once, my method is tofocus on a specific task and help them anaylze in English what pieces they need, and then allow
them to use their resources to achieve that task. What I try to avoid is becoming a living and morecorrect google Translate. I see the same approach (even hear the same sentences, converted from
German to Java) in class that I use everyday at work. I believe that this works even better in a
CS/programming context, because we get practice with a "native" every time we sit down to do an
assignment and try to compile the program. With foreign languages, natives are often harder tocome by, and don't correct all of our mistakes.

The notes are good. The mailing list is helpful.
Professor McCarthy is active and engaging. He makes attending class enjoyable.
Lecture and homework are combined well, I feel like I'm understanding everything. The homework is
especially good to get the concept down solid.
I like that you build from the ground up, so that we can go from a blank screen to a working
program. I get all the pieces because you have been "revealing" them to us as the need arises.
The method of teaching by going through the design process helps.
the code examples
I'm not really sure what to pick out specifically as most important to my learning. Going through theprocess in class and having the code that we went through in class posted online are probably themost significant.
The screen videos on the website are AWESOME.
The class video is really good.
Jay brings the abstract idea of programming into clarity with his unique and simple metaphors. He
avoids the complicated programming language upfront to make sure the basic logic and idea isunderstood. Then he goes back to reference them with their correct names.
I love the system Jay has put in place. There are several very convenient resources to help us
complete our assignments and class is taught a a great, understandable pace.
I think having the class's code available to us online is what helps the most.
The classes are easy to understand. You do a good job of explaining and keeping it on our level
It's a good class. The thing that helpd the most is the screen recordings of the day's lectures that
Jay posts on the course website. this is by far the most helpful thing to me.
Also, the homowrok assignments are nice. The short nature of the exercises allows for a little
repetition to help students fully learn some of the concepts. Also, it isolates the learning to the topic
at hand. I have heard horror stories about long projects. I don't feel that these would be as helpful as
are the short exercises we have. Also, I think that the short, simple exercises might encourage more
students to considering a major in computer science by scaring less of them away in the first class.
For the most part the entire class is going well. Lectures and having the code notes online contributethe most to my learning. The online discussion group is also extremely helpful because I can accessit at any time.
Going through the code.
I like his examples and the fact that he codes as he goes along. This way we are able to better see
the design process.
The homework. The class time seems overly spent on repeating examples.

The way detail and examples Jay shows helps a lot. It really helps that he goes into why somethingworks and acts the way it does, so it's not just "do this, and it works" type of thing. He also shows agenuine interest in helping the students understand what's going on, and he's always there to help,
and is give very prompt responses to our questions outside of class.

What could be improved? How could this course be more effective in helping you
learn?
As with learning a foreign language, learning comes through a basic intellectual understanding,followed by short repetition in the form of drills, and finally with an integrated practice. While thepace of the lectures is nice and slow (slow enough ot allow me to get distracted, at least) I wish that
it was easier to follow along in class with my own computer sometimes--typically not a problem, but
occasionally I'm scrambling ot find where I coded the Posn classs, etc, in order to play catch up to
get this drilling practice before I head home to try it on my own in an integrated practice situation.
Posting the videos of classnotes to a streaming site to provide easier access.
There is no course text. Professor McCarthy posts his notes and plans for class online, but I wouldfind it more helpful if there were a course text. I understand that there are good online resources andthat becoming a programmer deals in part with learning how to teach oneself from different
resources. However, this class is an introduction to programming in general and supporting classtexts would be very helpful for me.
Homework is occasionally lengthy and feels like I'm doing the same thing over and over again, butreally overall it's just fine.
Well, I think ambiguity is part of the plan so that we have to figure stuff out on our own. That
frustrates me, but I think is good.
Yyou could go faster. You don't have to always "play dumb" for everything.
not sure?? I have no complaints so far.
I feel like Jay spends too much time showing us what we should NOT do. I know it's ademonstration of how we should overcome barriers, but I'd like to see more of what we SHOULD
do. It would make paying attention a lot easier and more fulfilling.
It would be good if our grade was available to look at on Blackboard.
Also I'd really like to learn how to make GUIs.
A textbook or something online that refers to the materials we are covering. The class is pretty
tough and when I get stuck with a concept after office hours, it'd be nice to just read something andfigure out the concepts.
I can't think of anything.
A better a simpler structure. So that we know exactly what we are going to study at what days.

Maybe some simple in-class exercises would make the course more effective. Take one or two of
the problems from the homework (last night's or tonight's, doesn't matter) and have us do it in class.
Maybe have yourself and TA's be available to ask questions. Maybe we can work in groups as wellon the in-class work. Then when we're done, the professor can walk us through it.
I'm used to learning independently from a textbook, so the fact that the class is almost completely
oral has been a challenge. This might not be the course's problem, rather I might just have to cope.
I think everything is going well. The only thing I still struggle with is understanding what is being
asked in some of the assignments. They some times seem ambiguous to me.
My only concern is the fact that the course is not taught from a book. Jay is a great teacher, one of
the best. I only worry that when someone else will teach this class, that if they try to teach the way
he does, it could be terrible. Having a book or some other course template to follow provides thecourse with longevity and stability, making the teacher's ability less relevant. thus, if a future teacher
WERE terrible, the class would not suffer as much.
The most trouble I have run into in this class is not knowing how to deal with the ambiguity that ispresent. Most other classes I have taken seek just one answer, therefore presenting this course as
one that requires a littl creativity would have helped.
A lot of times we use words that are completely foreign to me. Also, sometimes when you go over adifficult concept (and I don't get it for a while--like that whole list idea people were having troublewith), then I get behind and don't get much out of class.
Also, give us a five minute break. Or bring us cookies. Or, both.
Also, a better textbook, online or not. Any is better than none.
I think some students might feel intimidated about asking questions.
The teaching and exercises seem geared to a very specific way of doing things. Maybe supply
more information and let us figure it out in our own way so we can learn to work through problems
rather than learning the specific way the teacher wants us to solve it.
Sometimes I feel like the exercise objectives are a little vague, which makes it a little difficult tounderstand what exactly Jay wants. But I feel like he is teaching this class in a very effective
manner.

What course resources (i.e. code notes, TAs, professor office hours, professor phone
calls, etc) have you used? What else should I provide?
I've used the GoogleGroup as a reference and to ask general questions, as well as the instructor.
I've used code notes, emailing the professor, and the mailing list.
There are good resources. The only additional thing I would like is a course text.
The TA's are very helpful as is the google group site. I've used them both. I also am a big fan of thenew screen-recording. It's nice since the final code often is very different from how we started inclass.
I have used the TA hours, but I think we have all the resources we need.
code notes.
I have used the code examples, and the websites provided
once again, no complaints. You have been very helpful and accommodating.
I use Google groups and the 'code' and 'screen' pages.
I've used TA, professor office hours, professor phone call, and others. If you provided links to sitesthat explain the concepts from class, or if students provided links, that would help to get the
information in different words.
I have used, code notes, screen recording and the Google Groups page.
I've used code notes, TAs, and Google Groups (extensively). I really think these are enough. I'm
temped to request a good textbook but I think nothing can beat the internet-based Java Tutorials
that Jay has directed us to.
I used a professor phone call, I've used the professor office hours, and I've used the TA's. I use thecode notes all the time.
The screen capture is very helpful just because we do so much in class it is nice to go back over it inorder rather then try and search through the code.
The professor phone calls are helpful. I have NOT used the TA's. The most helpful thing is thescreen recordings of the class lecture in conjuction with the posted "scratch" source files.
I have used all of the resources that available to me at one time or another. Each as proved helpful,except when the TAs do not understand what the professor is looking for. Probably the two mosthelpful sources are the online note/code, and the online discussion group. However, for the mostpart this is only because they are available 24/7 as I do my homework, or at least think about doingit.
I mostly use the code notes and I read questions from the Google group. Sometimes, I even ask
questions from the Google group. I went to see the TAs once (to help me simplify my code) and they
were not helpful.
code notes and the web
I use the google group. I think some way to communicate in real-time with the TAs outside of class(but off campus) would be helpful, like a phone call or chat. I work full-time and am never on
campus.
Code notes, e-mail, google groups

Hi Jay,
I just wanted to write you quick and thank you for your class thisSemester. I don't think that I fulfilled enough of theassignments in order to pass the class however I really enjoyed
you as a teacher and all of the work you put into the class. My
wife had a miscarriage towards the end of the Semester and it wasa difficult time. I dropped the ball, and unfortunately I was
also added into a new project at my work that required me to work
daily from 1am to 1pm and I fell behind in all of my assignments.
I'm not trying to make excuses I just wanted you to be awareof why I failed to hand in my assignments. It was in no way due
to your lack of assistance or commitment as a teacher.
I also wanted to let you know that because of your class and mynovice ability to program I have been placed on a Team at American
Express to write Marcos in order to increase our productivity. I
just finished a Macro today which save our team over 50 hours ofmanual work. So I have been able to take the basic principles
learned in your class and apply them in my job.
Once again thank you for all of you assistance through thesemester and again my apologies, as i know that Failing students
can reflect negatively on you. If you need to pass this emailalong in order to prove that you have not been lacking as ateacher feel free to. Thanks again
A StudentOnline Student Ratings Report
Period:Spring 2011
Instructor: McCarthy, Jay A (075667467)
Course:C S 142-001: Intro to Computer Programming

Page 1

Responses/Enrolled:
College:
Department:

38 / 69 = 55%
Physical and Mathematical Sciences
Computer Science

Instructor Below Overall Instructor Above Overall

CourseAmount learned
Materials & activities
effective
Well organized

Std
Dev

Sect Crse Mean Dept Mean Coll Mean Univ Mean
Mean Instructor/ Instructor/ Instructor/ Instructor/
Overall
Overall
Overall
Overall

VSD SD(1) (2)

D SwD SwA A(3) (4) (5) (6)SA VSA NR Resp
(7) (8)Rate

1.50

6.3 6.3 / 6.3 6.3 / 6.6 6.3 / 6.5 6.3 / 6.8

0

0

4

0

3

17

3

11

0 55%

2.03

5.7 5.7 / 5.7 5.7 / 6.3 5.7 / 6.3 5.7 / 6.7

2

1

3

4

5

8

6

9

0 55%

1.77

6.1 6.1 / 6.1 6.1 / 6.3 6.1 / 6.5 6.1 / 6.8

1

0

4

2

4

8

11

8

0 55%

Evaluations goodmeasures of learning

2.34

4.8 4.8 / 4.8 4.8 / 5.9 4.8 / 6.0 4.8 / 6.4

5

3

4

4

4

5

9

4

0 55%

Grading procedures
fair

2.30

4.9 4.9 / 4.9 4.9 / 6.2 4.9 / 6.3 4.9 / 6.7

6

1

3

4

7

6

6

5

0 55%

Intellectual skills
developed

1.13

6.4 6.4 / 6.4 6.4 / 6.7 6.4 / 6.5 6.4 / 6.7

0

0

0

0

9

13

6

10

0 55%

Testimonystrengthened

1.62

5.3 5.3 / 5.3 5.3 / 6.0 5.3 / 5.9 5.3 / 6.4

1

2

1

5

10 11

5

3

0 55%

Hours spent in class

Valuable time in class

1.21

5.6 5.6 / 5.6 5.6 / 5.4 5.6 / 6.6 5.6 / 5.2

55%

Std
Dev

Sect Crse Mean Dept Mean Coll Mean Univ Mean
Mean Instructor/ Instructor/ Instructor/ Instructor/
Overall
Overall
Overall
Overall

0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% NR Resp(0) (10) (20) (30) (40) (50) (60) (70) (80) (90) (100)Rate23.34 65.3 65.3/65.365.3/73.965.3/75.165.3/82.4 0

Hours spent out ofclass

10.79 18.2 18.2/18.218.2/12.918.2/ 9.0 18.2/ 5.9

Valuable time out ofclass

22.93 63.4 63.4/63.463.4/75.163.4/79.963.4/82.4 0

1

3

1

2

2

7

9

4

7

2

0 55%
55%

1

1

2

4

6

5

7

5

3

4

0 55%

Instructor

Std
Dev

Sect Crse Mean Dept Mean Coll Mean Univ Mean
Mean Instructor/ Instructor/ Instructor/ Instructor/
Overall
Overall
Overall
Overall

VSD SD(1) (2)

D SwD SwA A(3) (4) (5) (6)SA VSA NR Resp
(7) (8)Rate

Interest in student
learning

1.27

6.7 6.7 / 6.7 6.7 / 7.1 6.7 / 6.9 6.7 / 7.1

0

0

1

2

1

12

9

13

0 55%

Opportunities to get
help

1.74

6.7 6.7 / 6.7 6.7 / 6.9 6.7 / 6.8 6.7 / 7.0

1

2

0

0

3

5

13 14

0 55%

Active student
involvement

1.15

6.2 6.2 / 6.2 6.2 / 6.8 6.2 / 6.6 6.2 / 7.0

0

0

0

1

10 14

5

8

0 55%

1.50

6.7 6.7 / 6.7 6.7 / 6.6 6.7 / 6.4 6.7 / 6.7

1

0

0

2

2

9

9

15

0 55%

Prompt feedback
Useful feedback

2.14

5.2 5.2 / 5.2 5.2 / 6.2 5.2 / 6.2 5.2 / 6.6

3

1

6

2

6

9

4

7

0 55%

Responded to
students respectfully

1.44

6.3 6.3 / 6.3 6.3 / 7.0 6.3 / 6.9 6.3 / 7.1

0

0

1

3

9

4

11 10

0 55%

Explained concepts
effectively

1.79

5.9 5.9 / 5.9 5.9 / 6.5 5.9 / 6.3 5.9 / 6.8

1

1

0

6

7

7

6

10

0 55%

Integrates gospel into
subject

1.51

5.9 5.9 / 5.9 5.9 / 6.5 5.9 / 6.3 5.9 / 6.7

0

1

2

0

13

9

5

8

0 55%

1.30

6.3 6.3 / 6.3 6.3 / 6.7 6.3 / 6.5 6.3 / 6.8

0

0

1

2

6

13

7

9

0 55%

Std
Dev

Sect Crse Mean Dept Mean Coll Mean Univ Mean
Mean Instructor/ Instructor/ Instructor/ Instructor/
Overall
Overall
Overall
Overall

EP
(1)

VP
(2)

P
(3)

SP
(4)

SG
(5)

G
(6)

VG
(7)

EG
(8)

NR RespRate

1.78

6.0 6.0 / 6.0 6.0 / 6.4 6.0 / 6.3 6.0 / 6.8

0

1

3

6

3

8

7

10

0 55%

1.84

6.2 6.2 / 6.2 6.2 / 6.8 6.2 / 6.7 6.2 / 7.0

0

2

3

1

6

7

6

13

0 55%

BYU Aims

Std
Dev

Sect Crse Mean Dept Mean Coll Mean Univ Mean
Mean Instructor/ Instructor/ Instructor/ Instructor/
Overall
Overall
Overall
Overall

VSD SD(1) (2)

D SwD SwA A(3) (4) (5) (6)SA VSA NR Resp
(7) (8)Rate

Contributed to BYU
Aims

1.77

6.2 6.2 / 6.2 6.2 / 6.7 6.2 / 6.6 6.2 / 7.0

1

0

7

Comments

Std
Dev

Sect Crse Mean Dept Mean Coll Mean Univ Mean
Mean Instructor/ Instructor/ Instructor/ Instructor/
Overall
Overall
Overall
Overall

Spiritually inspiring

Overall
Overall Course
Overall Instructor

Comments

1

4

6

7

12

0 55%

41%

C S 142-001 Spring 2011 - Comments
Responses: 28 Total
I have greatly enjoyed attending class and have appreciated your enthusiasm and humor in teaching. Even
though people didn't always laugh at the things that you said, know that you made me smile and madeclass enjoyable for me. I regret not giving this class 100% but my brain just does not think in computer
terms. Thank you for your efforts and your devotion to our education.
This class was unorganized and the assignments were unclear and confusing. I lost many points for things
that were not stated in the assignment and the explanations of why points were lost were very unclear.
The programming concepts taught were confused and seemed unhelpful for actual use.
Hope the score can be weighed with more details. Sometime even though the program is not working, but
the idea is correct or is on the right track, it should deserve some points.
This course was a good intro to programming. Jay went to a lot of effort to help us become more selfsufficient programmers and that was maybe the most valuable thing I learned in the class.
CS is hard. I don't envy Jay's job of teaching it. Overall, he did a great job. I always felt jipped when I
gave it my all on his exercises and then missed one or two. I felt like that was so frustrating, spending somuch time on something and then missing points. There is no way I would miss any points in otherclasses if I spent that much time on something.
The teacher is very ambiguous in his expectations on course work and the students are the ones who are
penalized if we don't interpret what he expected. Homework questions are also full of errors, which ifthey led the student to perform the exercise incorrectly the student is penalized even after such situations
have been made aware to the instructor.
Many times things on the homework were vaguely related to what was covered in class. There is a gap
between the instructor and the teaching assistants, for example if the TA's tell you one way to do theassignment, it may not be the way the instructor wants it done, but as mentioned previously the student isstill the one who is penalized for such a situation. The TA's also have conflicting ideas on how to do theassignments which sometimes led to a loss of credit on assignments. The teacher gives almost no feedback
on what the student did wrong on an assignment, what little he may say in some cases is not even what is
actually wrong with the assignment or actually was included or done correctly by the student but evenafter confronting the instructor about such situations the grade remained the same.
The grading is not fair to the students efforts and is a poor representation of what the student has learned.
Each exercise of each assignment is worth one point. If the work submitted by the student is not perfect ordone in exactly the way the instructor wants then the student loses all the credit for that exercise, whichhappens to be a large part of the final grade. Each assignment, of which there are twenty, is worth five
percent of the final grade, therefore one point lost is a significant part of the final grade. I spent hours
working on my assignments making them do what seemed to be what the instructor wanted, and if I did
one single thing incorrectly or not to his expectation I wouldn't get any credit for my efforts, none what soever.
The last week of class, some of the most vital times of the course, the instructor left to be a guide on asummer tour. During this time the course was instructed by one of the TA's and a graduate student. This
was a very frustrating period of the course. During this period classes never started on time, one classstarted with a Saturday Night Live video which took up more than 10 minutes of class, one class didn't
start until half way into the scheduled time, information vital to the assignments was absent frominformation presented in class, the TA and substitute instructor lacked knowledge on what was expectedon the assignments. I know the instructor is not completely to blame for this chaotic period of the class but
I will say that when you are the student who had to pay for this semester out of your own money andnever missed one day of class, it is very displeasing to have your efforts, time, and money bring nothing
more than a foolish return and a frustrating week of hours trying to figure out on your own how to learn
the course materials, something I can do for free with a book from a public library or free tutorials online (which is not what I paid hundreds of dollars to do in this course ).
I will say that the instructor does have a great idea he calls a "design recipe", which I do feel is a very
remarkable way of computer programming, it makes programming more efficient and productive. The
instructor did do a great job of presenting and demonstrating this concept. This is the most valuable thing I
will leave this course with.
The instructor did do a great job of assisting students' questions during class and I felt he did a fairly goodjob of presenting and communicating the concepts of the course, at least the ones he covered in class. I do
like the instructor and his personality, but I am disappointed with his teaching practices.
Dr. McCarthy needs to get someone else to review his homework assignments before he gives them to us.
He knows what he means, but we don't! The single most frustrating thing about this course was that, as
far as grades were concerned, it was more of a guessing game about what Dr. McCarthy wanted, insteadof a question of whether or not I'd understood and implemented what we'd learned in class.
While it was clear the Jay knew what he was doing, he didn't explain his thought process while in class, atall, much less give us different ways of approaching a problem and talking through the pros and cons ofeither. Instead, he'd just say "Now this is a part where you have to use your brain..." It was extremely
frustrating.
Two specific suggestions: 1) have someone, preferably more than one person, review the homeworkassignments and reword them for clarity. 2) Explain the process, why you're approaching the problem inthis manner, etc, rather than simply doing it and expecting us to follow along and understand why.
Jay was a fun teacher that teaches so that everyone can understand how to program regardless ofbackground in programing.
I really enjoyed this class! I learned a ton, including that programming is something I enjoy.
I have two suggestions.
1.Don't be gone the last week! :) It was definitely a little stressful at the end there. I know that won't
happen next semester, though, so it's not really a worry.
2.Have your grading policies set before the semester starts. We were a guinea pig class, so I understandwhy it changed a lot, and you were very generous (I appreciated that). Just for the future when the class isa little more settled, it will help with the stability of the class if you know just how you're going to grade
assignments and stick to it. Otherwise students will feel like they can just ask for whatever exceptions theywant and you'll let them have it.
Such a good class! I'm not a programmer so this was really an introduction course for me. Jay explained
concepts effectively and provided SO many resources so we could get help and succeed in the course:
Daily office hours 1-4 (I think?), TA's, online Google Group which he responded to within the hour, hisphone number so we could call Mon-Sat, Mibbit chat with the TA's so we could work remotely, and classprograms/screen recording. He set the course up so that you could not fail. THANK YOU! Jay is patientand helpful. Best professor EVER!! Keep him! :)I like how Professor McCarthy gave plenty of opportunity to receive help.
I struggled with this class. I'm not sure if it's because Java is harder than other programming that I've donein the past or for some other reason. The fact that you had to learn the skills in class or by asking theprofessor and TA questions took some getting used to since I've relied to this point on my ability to study
a textbook and figure things out on my own.
I got the impression that the professor did not empathize as much with students who were concerned forgrades. A student being very careful to keep grades high might find his or her GPA trashed after taking
this class. The extra credit policy however, was fair. On the other hand, so many exercises were assigned,that my deficiency in getting assignments done (despite spending hours in the hallway working on theassignments and asking questions) caused me to constantly need to do extra credit to stay afloat.
I think that professor McCarthy knows his stuff and that it is a good class for some, but it was not goodfor students like me.
The homework was often hard and communication was poor. Many assignments didn't make sense,
unless you asked a TA or the professor directly. There have been multiple assignments where I was
marked off for something I didn't know was "important." It seems grades were often arbitrarily handedout- one error in code prevented credit for the whole exercise from being worth anything. What he taught
in class often conflicted with all external sources on the same subject students could find (especiallyconcerning lists). Homework didn't allow for creativity / other ways of accomplishing the same goal. The
only good parts of this course were: implementing contracts and purposes, the TA chat channel, thegoogle group, and recording the classes. I wish I had dropped this class as soon as I heard the professor
say that it was "experimental," and would recommend all other students to avoid this professor.
Jay's method of teaching Java, is really a better method of teaching programming. He focused on the
logic, NOT the syntax. He has prepared us therefore to make the jump to another language. God bless thisman.
This course really fell apart towards the end. There are more basic programming ideas that I wish wecovered than what we did cover. I feel like some of the assignments were repetitive and took too long.
There were too many "magic boxes" that I really wish we had gotten an explanation for. I learn better
when I understand all the pieces. I don't like having someone assume that the concepts are too deep ordifficult for me, or too hard to explain. Try to explain, and give me a basis for what I'm doing. My
understanding will deepen over time, but I like having explanations up front.
We really needed to receive copies of the exercises done correctly after we turned them in. This class wasmuch harder than I expected. The first 2 or 3 assignments seemed to be what I expected but then thecourse speed up and got much harder very quickly and I was left in the dust. Maybe it is easier when it
isn't taken during a term.
This course was the most time-consuming course I have ever taken, yet the resources available tounderstand the material were so limited (only the code in the class) that it was almost impossible to do thework on your own. Those who succeed are the ones who can afford to spend all day every day in thelabs. People like me who work almost full time don't stand a chance of doing well. I wish there were moreresources, like explanatory lessons, apart from lecture, in writing, that could assist with the concepts weare learning.

I feel like I was set up to fail in this class. I was expecting a steep learning curve in the beginning, and I
was able to handle that with help. However, two problems made this course unreasonably difficult. First,
the homework would routinely take me 8-12 hours per day just to get the assignment in on time. Thislevel of time investment never decreased. Second, Jay left before the end of the course. When he did, it
seems as though all of the ways we had been doing things were unceremoniously thrown out the window.
I felt like I had no hope of understanding what was going on for the last 3-4 classes. I am ashamed to say
that, for the first time in my life, I had to skip the last three assignments. This was necessary just to takecare of all of the other homework and personal needs that I had been neglecting all term in order to keep
my head above water in programming. I never thought I would ever be put in that position in a BYU
class.
It was a good course, I'm not sure that we were taught everything we were supposed to though. For
example I had friends that had learned GUIs in this class from other professors but we did not. It felt likewe spent half the semester on strings. Professor McCarthy did tell us though that he believes he isteaching us everything we need to know.
I put a lot of time and effort into this course and I received no credit for my work. The teacher would ask
vague questions and expect specific answers.
I enjoyed his approach to the instruction for Introduction to Computer Programming. Although there weresome moments where an initial explanation was vague, he was always quick to help us understand withfurther explanations.
First off, Jay is an excellent teacher of the concepts that we were learning. He used good examples and I
understood most everything that he taught really quickly. Keep that up (I've heard other CS teachers can't
do this very well).
It was stressful not having you here for the last couple weeks. I wouldn't do that again, as I feel that myunderstanding (and probably grade) suffered significantly because of it).
Keep up the forum and IRC chat channel. Find a way to securely post grades on the website.
It seems like you got annoyed at the students quite a few times on the forum. Sometimes, this could betaking text out of context (easy to do), but other times I'm not so sure.
You're very hard to reason with and you won't bend if you think you're right, even if you're not. This has
happened several times during class when you think an explanation is clear (but it's not to us) or when
you think that something is justified (and a large portion of the class doesn't). You're a good teacher, but
you're not perfect yet, so learn to take advice from others.
This class was made to teach us basic Java. I learned some basic programming skills but know very little
about Java. Since this is my only programming class, I feel that it's less useful than it should have been.
What you taught was meant to be taught in Racket, but Java is not Racket. It's not okay to hope that the
department will divide this into 2 classes and teach like we're using Racket now . I could not get help
from anybody who knows Java well, because we weren't programming Java. I couldn't even get help
from the TAs sometimes because they didn't know why you were teaching this way.
Your grad student taught us this last week how people actually program in Java. I feel like I couldn't learn
it well because 1)you teach better (though his code is easier to understand) 2) we crammed it all into theend of the semester. Spend less time on recursion and more time on real Java stuff.

That said, it would be good if there was an intermediate intro to programming class and a basic intro toprogramming class. I spent ~30 hours on assignments each week, and I didn't finish a lot of theassignments, even with help. TAs were instructed to be vague and not give help, even if I had done thedesign process. I've never spent this much time on any hard class in 4 years (even during a term) and I
don't think it's merited for an intro to programming class.
Keep him teaching. He needs to change quite a bit but the department needs to change, too. Jay teaches
well and his students actually learn. I'm not sure that's true for any of the other core CS classes at BYU.
On occasion the professor was a little rude in his responses to assignments being turned in.
I would not suggest offering this course for the Spring/Summer terms as it moves along way too fast anddoesn't give time to internalize the information given to someone who doesn't have any experience at allin the subject.
Course resources are great: the professor provides audio and video capture of his lectures, objectives forhomework, in-class notes and plans for class.
Some sort of book or packet explaining at least basic programming concepts would be helpful as well.
Overall, a very great class and an even better teacher!
I felt that what was taught varied greatly to what was expected to be done on the homework. The gap
should not have been so wide. This class seemed to have been designed to be taken by a student that had
time to devote several hours a night to homework and the extra time to visit TA's and the instructor. Thosethat work had more difficulty balancing all the work and study for this class.
Jay is a fantastic teacher and intellectual. I enjoyed this class quite a bit. However, I feel like the last partsof the class became exponentially more difficult than prior concepts and ideas, and I, at least, struggled a
lot on these last assignments. Obviously, it is difficult since it is a condensed semester, but I feel like themore difficult concepts weren't explained or outlined as best as they could have been. Many of theassignments seemed ambiguous or vague (it was difficult to know exactly what Jay wanted). Aside fromall this, I think Jay is a great teacher, shows genuine interest in the students and has a real passion about
Computer Science.
This class was hard but i learned a lot. Jay has good methods that helped me learn.
The homework exercises were very difficult to understand what instructor was asking.