Prof. Kender is quite approachable and helpful outside of class, but his lectures are often unfocused and spend a significant amount of time on review and logistics rather than content. It's often difficult to distinguish between the "interesting but not really important" tidbits and the parts which will recur on homeworks and tests, and the bits that are not expected to be committed to memory. Like other reviewers have mentioned, homeworks and tests also often use confusing or vague wording in cases where he is looking for a specific solution. Prof. Kender is open to feedback with surveys after tests and homeworks, but the fundamental issues of clarity are difficult to resolve immediately. Overall, take this class if you really want a more advanced intro java experience, otherwise, consider how much time and mental energy you are willing to commit.
you better like cs. hope you're not living through a pandemic bc Kender will not be there for you. he will, however, ramble on for an hour and fifteen minutes twice a week so you can watch some truly unstimulating recorded zoom lectures. he is technologically challenged and weirdly obsessed with java.
A lot of people throughout the semester complained that even though the class is called an “Honors Intro class, they felt like it was not an intro class because what is asked of them is really hard. They took their complaints to Piazza almost every time an assignment was released. Although I personally disagree and think it’s fine as an intro class because it is an HONORS class, I want to point out what the students felt like at the time. So do expect the class to be really challenging. The assignments will take a huge amount of time. It is almost impossible to do them a night before (unless your goal is to only pass). The exams are not particularly easy but they’re not insanely hard either. If you just study the lecture notes and skim the book and assignments you’ll be fine. My only complaint is that sometimes the questions on the exams are vague or open to interpretation but the professor wants a specific answer in mind, and if you don’t write what he wants, then he marks it wrong. However, like other reviewers pointed out, the curve is enormous. A raw final grade in the high seventies will land you an A or A- depending on that year’s curve. He’s also not that intimidating as he seems, but actually very approachable and nice. He always asks for feedback and even gave the class an extension once (don’t push it though).
Terrible class. Half of the lectures are spent reviewing the useless material from the previous lecture. You don't learn anything about actual coding in lecture, just theory that will only be useful on the homework. The bigger problem is that you are given 30-hour assignment with "2-4 weeks" to complete them, but only learn the first half of relevant material the lecture before they are due. The professor doesn't know how to write notes on the whiteboard (you can't understand what he's saying simply by copying him). 1007 is more (tedious and difficult) work than 1004 or Data Structures, but you're learning less. I can't emphasize this enough: TAKE 1004 or DATA STRUCTURES. Professor is not helpful in Piazza either.
This review may not speak to the content of 1007 so much as the culture, but I would like to note to incoming students that this class has a surprisingly pre-professional and competitive atmosphere. I remember on the first day, Kender listed a number of languages - Perl, Python, C++, and asked students to raise their hands whenever they heard a language with which they had experience. I immediately felt so lost; I'd signed up for the course knowing just what was required to take it. I was, in fact, prepared for the course. I'd taken AP Java in high school; I'd done well; I for the most part continued that trend in 1007. But there wasn't a moment of this class I didn't spend questioning my abilities or worth as a CS student, even when I did quite well on the assignments. There were a lot of things Kender could have done to abate or eliminate this competitive aspect of the class, but instead he seemed to constantly make choices that worsened it. First of all, he'd post a list of the naked grades (everyone in the class' grades stripped of names) after every assignment. Seems whatever, but he did it in a way that each row would represent a person, and each column their grades on a particular assignment. To me, this seemed like an overabundance of information; Kender could have released the mean and perhaps standard deviation for each assignment, like most CS classes do, and that would've been enough information to know your approximate standing in the class. Second of all, after every naked grade set was posted, some guy would post in-depth stats on Piazza on the grade distribution, which was pretty unhealthy, grade-focused BS. I wish Kender had shut that down. Third, at the end of the class, Kender sent an email to all students naming those who got an A+, as well as saluting certain members of the class who he felt had made significant contributions (like Piazza posts etc.). This is something I've never seen a professor do before -- if you do well in a class, you should know it without the professor emailing all your peers. The email also privileged certain modes of achievement in a field that, right now, desperately needs a diversity of thinkers and personality types. I'm not saying those students that Kender singled out don't deserve praise; but it would have been much more appropriate had Kender kept those thank-yous and A+s confidential. Those are just, to be clear, a few select examples of a trend of competitiveness that pervaded this class. Oh, and by the way, after all of this Kender had the nerve to complain (in that same final email) about how our class seemed more pre-professional than usual, as if he hadn't contributed at all to the atmosphere. When I read that, I actually laughed out loud. In terms of the course itself, I have few complaints. The material was truly interesting, and genuinely helpful to me as a programmer. Kender was a great lecturer, happily supplied all kinds of interesting supplementary information on Courseworks, and patiently explained concepts in person and on Piazza (even on the weekends). The class was difficult at times, but I learned so much about good design and feel like I have a great grasp of object-oriented programming now. I find myself applying design patterns + strategies I learned in this class all the time. In fact, I can't imagine where I'd be as a programmer without 1007. That's why it's such a shame that the class atmosphere was so unwelcoming. I'm not asking for hand-holding, but I don't think it's unreasonable to request an environment where the professor isn't implicitly supporting a culture of "who's best" or "who's worst" or "what's the grade distribution" or "who wants a professorially-sanctioned way to brag about how much they know about multithreading even though it's mostly irrelevant to this class." Anyone who signs up for Kender's class and sticks with it has already demonstrated they deserve to be in 1007, even if they didn't get an A+ on homework 3 or couldn't work up the nerve to raise their hands that one time in lecture. Take this class and ask a lot of questions; what you'll learn is worth it. But do your best to block out the competitiveness, and know the class is not representative of what CS culture should be.
First of all, W1007 is now Honors Introduction to Computer Science and no longer Object-Oriented Programming and Design in Java. If 1004 and the old OOP course had a baby, this monstrosity of a course would be the result. The course had no target audience. It was excessively basic for some, and impossibly difficult for others. In fact, this was evident from our midterm scores - the curve had two peaks! That said, this was an exceptionally well taught course thanks to Professor Kender. This man can teach. Kender is truly silver (possible gold) nugget worthy. While the content of the course was not the best, (not Kender's fault - he has to comply with the CS department) Kender did an amazing job at teaching it. His lectures were a joy to attend. He is organized and methodical and teaches in the order of the chapters in the book. He has a great sense of humor and tells at least one awesome joke per class. He also gave us lots of cool extra information because this is "an honors class". Also, he has this strange, but fun obsession with the Principle of Least Surprise (PoLS). Don't let Kender's imposing figure scare you. He is a very approachable and reasonable professor who will take the time to help you out. If you're too intimidated to ask him a question in person, there's always the online solution. This course used Piazza which was great since it allowed us to ask questions anonymously and clarify doubts in the assignments. Kender is on Piazza almost 24x7 on the weekends before assignments are due. Assignments were of variable difficulty and length. Many of them were poorly worded causing some confusion. Some were very interesting like making a GUI game to play Rock, Paper, Scissors, Lizard, Spock with an AI engine. The assignments were usually graded within a week or two. The TAs were for the most part good. One TA (name not disclosed) was very stingy with grades and always screwed the assignments he graded. This unfair grading affected some very unlucky students. The midterm and final were long but manageable. Note down everything he says in class. His tests mainly consist of questions from topics discussed in class, especially violations of PoLS. Grading was extremely fair - not easy, not hard. He takes a long time to get exams back because he corrects all of them himself (and he unfortunately had an ill member in his family this semester). He gave us candy canes during the final because glucose apparently stimulates brain activity. Needless to say, that was the most entertaining exam ever. All in all, if you have a strong foundation in Java and design, skip this course. But try to take Kender whenever you can. He makes this course worth while with his godly teaching prowess and great sense of humor.
I have to disagree with the review below me on multiple accounts. First, workload: There are five assignments, a midterm, and a final. For each assignment, we were given at least two weeks if not more. Kender, though as inscrutable as Dumbledore in his answers, will point you in the general right direction through discussion boards, and office hours with the TAs and Kender himself will help you if you're ever feeling totally lost--but to take advantage of this, you MUST start the assignment earlier than the weekend before they're due. They can take up to a whole weekend to do but often much less. They are difficult, but they can be fun and you'll learn something from each one. Second, as for the phrasing of questions, he just likes for you to state the reason behind the answer rather than rote memorization. To reiterate what previous reviews have said, he seems grumpy but he's really a sweet, witty, silver nugget-worthy guy. He's like an m&m with a hard crunchy outer coating but is really just a sweet, melty, softy on the inside. If you really took his exasperation to heart, then do yourself a favor and get over yourself. He's not a kindergarten teacher who will hug you and listen to your feelings but he will go well out of his way to help you as much as he can without straight up giving you the answer. He wants you to oh my god forbid learn something instead of cruising out with a B+. The grading was very reasonable(not EASY, reasonable), he explained how and why the grades were the way they were, acknowledged when things were unfair, took our feedback into account very well, and if you had a problem with this good luck at Columbia because the fact he even TOOK feedback was like, shocking, at this school.
I have no idea why this guy has a silver nugget. He's not a good teacher. At all. He always has a very, very specific answer in mind when he asks questions. In class, this leads to him calling on several people before he hears exactly what he wants to hear. He often gets exasperated at people not saying the right answer immediately. What's important to note is that often the right answer has been said, but he just didn't notice because he was too fixated on having it said exactly how he thinks it should be. That's how it was on the exams as well. Clearly, he thought of the answers before he thought of the questions, and didn't spend much time thinking about how to phrase the questions. They were completely incomprehensible. On the midterm, he even gave us all an extra 8 points because he admitted that one question was so terribly convoluted. On the final, the chalk boards were covered by the end of the exam because of how many changes he made to the directions. I must have lost 20 minutes going back and redoing stuff because he was redefining the questions as we were taking the exam! The work load is enormous in this class. Again, the questions were often ambiguous. If you badgered him on the discussion board, he'd sometimes clarify things. He also didn't check the API before assigning some of the graphics stuff. I must have spent 20+ hours combined trying to work around bugs in the API to try to make my designs the way he wanted them. I even sat down with him once in office hours to read through some unofficial API source code, given that his response to one of these bugs was, "Hmmm...that's unexpected..." Overall, this class was the most frustrating experience of my semester. If I didn't have to take it, I wouldn't have. I don't feel like I learned that much (except for some interesting stuff in chapter 7 about generics). I feel like if Kender had been focused, it might have been a semi-enjoyable experience. He was too much in his own head and didn't interact well with students, though.
Professor Kender was one of the most amazing professors I've ever had. His lectures were entertaining and he taught really well. I've never enjoyed any other class as much as his. He's an amazing person with a great sense of humor; I really enjoyed his quirky, nerdy jokes. He made me care so much more about the class, and I went to every single one of his lectures. He really knows his material and clearly explains everything. He is more than happy to clarify any questions, and is very approachable, though he may seem intimidating at first. I was impressed by the level of attention he gives to his students. With the assignments, he tries to give as much help as he can without giving away answers, and provides a lot of interesting and relevant supplements and anecdotes. He is an extremely fair grader and though the class is difficult (generally, most the students are engineers), it is curved. I would definitely recommend taking this class just for the professor. He encouraged the class to attend talks and such around campus and to take advantage of all opportunities provided by the university. He is not only an amazing professor, but an amazing person and makes you feel he cares, even if you've never spoken directly with him. He clearly has a passion for teaching, and I would seriously recommend holding off taking 1007 a semester to be able to take it with him.
Glad to see Prof. Kender has a silver nugget to show for his excellent classes. Although he is very intimidating at first sight (one of my friends who audited the course for one class actually ran away in the first 15 minutes), Prof. Kender is just a fluffy teddy bear that just wants to be hugged. But since he is too intimidating for any students to just walk up to him and hug, he penalizes us by giving us incredibly challenging (but fun) assignments. His lectures, most of the time, grabs your attention and doesn't let go. The only boring parts would be the ones where he tells us about the necessary evils of memorizing idioms. Even those, however, coupled with Prof. Kender's otherwordly sense of humor and enthusiasm, are possible to get through completely awake and conscious. The assignments are quite difficult, yes, and many people dropped the course halfway through because of a certain assignment. (It personally took two all-nighters in Butler.) But if you enjoy computer science at all, the challenges he throws at you and the sense of accomplishment that you get when you finish will be enough to keep you going throughout the entire semester. FYI, don't worry about the numerical grade that you get. Prof. Kender grades hard on all assignments and tests, and the numerical grades may seem low. But the letter grade won't be; for example, the B+ on the midterm was in the high 50s. If you have a chance to take this man's course, do not let it pass on by. You'll regret it.
Kender is one of the best (and most intimidating) professors I've had here. Lectures were very well-structured and easy to follow without being simplistic, and although the material was occasionally a bit dry (idiom memorization is not exactly thrilling), Kender's understated and offbeat sense of humor kept things interesting. He puts the material into perspective--the class is taught only in Java, but he explained the language's current (and rapidly shrinking) place in the field and how it differed from other languages (often in the form of deadpan disparagements). While he spent a good portion of the first few weeks of class waiting for students to answer questions, eventually the class began to respond and lectures became more smooth and interactive. Despite a scant four-month programming background, I felt comfortable with the material largely due to the clarity and thoroughness of the lectures. While the first assignment was difficult, Kender polled the class on our experience and modified the next assignment based on the responses (similar polls happened after all assignments and the midterm), which I really appreciated. He took pains to keep the class fair despite challenging material.
I studied Java for the first time during my senior high school year. Though I felt like I learned how to program in Java and I was confident in programming, this class even challenged me to the next level of profession both in Java and in general. This class taught me enormously amount of knowledge of Design and Object-oriented programming. It was mainly because the assignments were time-consuming and they demanded dedication, and also the ability of Prof Kender to succintly pointed out all crucial aspects of Java and OOD. Prof Kender is very good-natured. He looks tired sometimes but he is full of energy when it comes to lecture time. He is very approachable, and he answers all questions you have in mind. He is very funny in his own way. And above all those, he is a very, very fair grader. (And of course TAs in this course are just like that.) Those who wants to master in programming will not regret taking this class. You will learn much more than the Java itself; you will encounter a lot of situations where you have to decide in terms of design and strategy. You will be ready for the next level of programming, which is in bigger scale and more complicated. I would say that I appreciate this class so much, both from Prof Kender and from the class itself. Beware though, the class is a little tough.
Professor Kender knows his stuff. His lectures are not the most engaging and gripping, but they are eminently useful--pay attention! His homework assignments are extensive and fair, clearly utilizing the skills taught in the previous unit. He has an abrupt personality, but respects the course, the students and teaching in general. Tests are difficult and graded harshly, but the class is curved at the end of the semester.
At first, he seemed like a very professional, no-nonsense sort of teacher who would teach a lot but give the most boring lectures ever. In reality, he is a very professional, no-nonsense sort of teacher with the most entertaining lectures ever. You learn a lot and have a bit of fun with the class too. Great intro to the CS department. He's a great professor.
I didn't like him when I started the class, but I sadly got over it and really enjoyed this. He's a gruff, bitter old man but secretly a pretty nice guy -- lectures are interesting, tangential, and often include lame jokes. Has a lot of experience and generally will not waste your time. Overall, a surprisingly good introduction to the CS department, no matter how he comes off at first.
this class was awful! class was rough since there's SO much to write, there are no electronic notes available and although professor kender tells an anecdote about writing and speaking clearly during lecture, he quickly started writing incredibly small on the board. the homeworks are killers and the midterm was really hard. LISP is touted as the language of choice for AI, but having it thrown at us in a couple of weeks was just not helpful. i can recognize LISP code, but i can't tell what it means. apparently professor kender is trying to get a LISP course organized that you can take before AI which would probably fix this huge problem.
Kender made my first comp sci class ever a pretty good experience. His dorky computer jokes were a constant source of amusement. He was very organized, everyday going over announcements, assignments, review of the last class, and new material. Asked for feedback regarding the projects and exams so he could try to improve them for future classes. Fell behind every now and then, but shortened the projects if necessary. The course got harder as time went on, but I always found it interesting.
This was perhaps the perfect course for someone like me. Kender is an excellent teacher. He adds a lot to the class that you would not get from the (atrocious) textbook, and covers topics with a surprising amount of depth for an intro course. But be warned, while the class is called an intro, everyone in the room has been programming for years, and it's basically expected that you'll have similar experience. As for the workload, don't try to pull all-nighters before the assignment is due. It's possible, but you'll hate your life. You have two weeks to work on them, and it's a smart idea to spread things out over that time. This course convinced me that computer science was not for me. Kender is a great professor, so the only reason that I didn't like the course was the material. I did the work, and was happy with my grade, but the other students in the class would make crazy additions to the assignments for no extra credits, and I'm just not willing to study a subject where the other students care that much more than me.
John Kender is a very good teacher who makes every lecture interesting and worthwhile. I definitely recommend taking a class with him if possible. His only fault is that he will speak more and more softly as a sentence progresses, making it impossible to understand what he is saying.
He makes lectures very interesting and fun. You'll definitely enjoy the class even though the subject matter is rather difficult. I had a great time in this class and I believe that he is one of the best professors in the Computer Science department. The class can be really difficult or moderately difficult, depending on who you have as your Professor.