Professor Basit is really nice and easy to approach. This class is really just a lot of memorizing the slides and then learning how to code/do the homework on your own, but there's not a lot of work in my opinion since there were only really three assignments the whole semester and the final project. Not an interesting class, but it's not too bad.
Grade Distribution
No grade data available
57 Reviews
Don't expect to learn much from lecture.
The final project however has the potential to teach you a lot of skills (App development, building to specification, and not least of all team dynamics). Don't underestimate the relevance/importance of this project.
If you don't have any work experience, this project can be a good starting point on resumes and during job interviews.
When I took this class, there was an extra credit opportunity. I did it, spent maybe ~3 hours and got a 5% boost on my final grade. So if it's offered go ahead and do it.
Keys to success: Memorize the slides, get your homework programs close to perfect, go to lab, and start the final project early.
Professor Basit is one of the nicest people I've met, but her simply reading the slides doesn't really do much. Make sure you know how the homework programs work, and you'll do fine.
CS 2110 is not what most students expect. The class focuses on the art of developing software and is not code driven. The powerpoints are where all the information in the class comes from, and Professor Basit typically just reads the slides. Around half the students stopped going to lectures. That being said, Nada is a very nice professor and could explain concepts fairly well in office hours/after class.
Ok guys, Basit is a really nice lady. So many reviews are Basit bashing which I don't think is totally fair. I really think there should be more class bashing and less Basit bashing and here's why:
Many of us are coming from one of the CS 111 courses. We expected this to be a sort of continuation of that--a sort of interactive class where you learn about coding. However, this class surprised us by being a theory driven dip into the world of programming. What this means is that it seemed to lack any sort of structure. It almost felt like they were picking random topics from a box filled with aspects of a programmers' lives and telling us about it. I mean, I kind of get it. They were trying to expose us to the world of software programmers but really there's so much so how do you even structure something like that? They structured it with the first half semester being Java review, then the second half being all these software programmer facts.
What to expect from this class: a lot of slides, a lot of theory, a lot of vocab terms.
What not to expect: people teaching you code, lecturing towards some sort of overarching goal/concept, people trying to get you excited about the world of CS.
The infamous android project: I actually found it the most enjoyable part of the class. It's overseen by the TAs in your lab section. So you and a group teach yourself enough android to make a little ghost hunter game. It's actually pretty cool. People whine and moan about how no one taught them how to do it but if you go into it accepting that they won't teach you Android, you can actually have a pretty good experience. And it's not hard to get over 100 on this project. For reference no one in my group knew ANYTHING about Android going in and the project actually kept me excited about my CS major (whereas the lecture sort of dimmed my resolve a bit).
tl;dr: Apparently, it's possible to place out of this course. Do so if you can--I wish I did.
The Course:
If you know about abstract classes, interfaces, comparison, iterators, generics, and the Collections framework, you know all the Java that will be taught in the course. After that, it moves on to cover the software development process--specifically, a "lite" version of Scrum. If you haven't heard of it before, the most important thing to know is the term "user stories." The semester wraps up with a discussion of (binary search) trees and recursion.
Course Project:
As of when I took the class, the "group project" for the semester consisted of writing a simple game for the Android platform. There's not a lot of instruction in-class on how to do this, but they do cover the basic terminology/organization/etc. for an Android app. StackOverflow is your friend here. It's quite easy to score "more than 100%" on the project by adding extra features. You'll spend ~3 hours outside of class/lab every week with your team for the second half of the semester.
The Professor:
I agree with the other reviewers and recommend taking this course from a different professor (if you don't place out).
Literally, don't take this class unless you have to. I took it wanting to get a minor in CS and it completely changed my mind. Going to lectures really does nothing, I was usually left more confused. There were 3 homework assignments assigned that were loosely based on the material of the class. That being said the homeworks were relatively easy as were the quizzes. In order to do well, go over the readings. The text book does a much better job than the professors and then go over the examples done in the slides. Furthermore, the lab section was slightly helpful in the beginning because it actually worked with code, but the only way it helped was by assigning questions to work on in groups. The TAs were kind of helpful in this case. The rest of the class is mostly conceptual based. The android project is also a pain, mostly because it is group work and the only real help comes from looking up solutions online. The android information you would be tested on is mostly conceptual. I will give credit to the professors because they did offer and extra credit assignment that dramatically boosts your grade, they were also very kind, and were always available for office hours and genuinely wanted to help their students.
Despite reading several negative reviews about Nada Basit, I decided to take the class with her anyway. It turns out everyone was right. Halfway through the semester, most people stopped showing up because they could not stand her lecturing. The only redeeming factor about taking it with her is that she is nice and is helpful during office hours and email. As far as the material goes, most students were very unprepared for the final Android project. Additionally there were not nearly as many homework assignments or quizzes as years past, (three all semester before the final project) which are usually helpful for practice. While this is a required course for several engineering majors, do yourself a favor and do NOT take it with Basit.
Basit is a bad lecturer. I ended up skipping most classes and just learning from the slides. The material should be easy but she makes it hard. Try to take this with another professor.
The lectures are very broad and uninteresting. It often seems as if Basit talks about a topic at length for 50 minutes when it could be explained in 5. The exams are rather frustrating since they can be conceptually broad but also require knowledge of syntax and concepts specific to certain java libraries with no reference provided. The Android project is not guided at all. You're basically left working out how to make an Android game on your own and if you don't have experienced programmers in your group you are probably screwed. The project was to make a game but the basic Android library that is taught does not lend itself well to this. You would be much better off using a library such as libGDX or an engine like Unity.