grand-raven-0460
Edited
• 3 Credit Hours
Key adjectives used by students — color intensity reflects sentiment
grand-raven-0460
Edited
honest-wolf-1861
Edited
lively-seal-9369
Assignment 6 man. I was on track to get through this class with ease but then got hit with the 20% on this assignment and ended up with a C...
TAs were okay, group project was okay, individual project was actually kind of fun.
Please take assignment 6 seriously.
Edited
solar-fox-7916
Edited
gentle-penguin-8274
Edited
fearless-salmon-0598
Edited
zesty-gecko-4076
The quality of the TAs in this course was extremely disappointing and terrible. Rather than supporting students, their contributions often created obstacles to learning and hindered progress toward program goals. I strongly advise others to consider alternative courses if possible.
Edited
creative-leopard-6072
Very elementary (got like 97%), but I had experience in android and java. The TDD assignment was tricky
Very easy, take it only if you are very insecure about your SW skills You might have to review and correct you teammates job in the group project, but I guess that part of the idea.
Edited
vibrant-heron-7830
Edited
clever-spider-9753
Edited
Overall grade: A (99.56%)
Background: BS in Computer Science. 3 years of STEM work experience (not as a software engineer).
Lectures: The lectures are still from Professor Orso, even though he has moved to a new college. The videos are very high quality, and I enjoyed listening to the lectures. The material is presented in an engaging way that makes it easy to follow. In addition, the instructors include a set of notes from a previous student, which were still up-to-date with the current version of the course materials from what I could tell.
Exams/Quizzes: There are no exams or quizzes in this course.
Assignments: There are 6 individually-completed assignments, 1 group project, and 1 individual project. The first 5 individual assignments are easy points. The 6th one is significantly more tricky - more like a set of mini puzzles. However, once you figure out the answer, you will know it is correct. I caution that a previous reviewer of this class mentioned something along the lines of "you will lose more points than you would gain if you attempt and fail the extra credit" is VERY TRUE. If you do not think you have correctly satisfied the extra credit on assignment 6, then just do not attempt it. Each assignment took approximately this much time to complete:
Group Project: I luckily got a very good team. I think it is partly because I had no experience as a software engineer, so all of my teammates were software engineers. We communicated regularly on a private Discord group and were able to split the workload evenly amongst everyone. Despite not having past work experience as a SWE, I have written code in my current job and have a BS in Computer Science, so I was able to contribute a good amount to the team. We finished each deliverable well before the deadline. I can see how having a bad group would significantly impact your enjoyment of this class. I feel very lucky to have had a group much better than any I had in undergrad group projects.
Individual Project: There are 4 deliverables, one due each week. They each take a vastly different amount of time to complete, with some requiring a lot of work and others being very easy. I don't think I can give away specifics of what each deliverable includes, so without any descriptions of the instructions, here is approximately how long I worked on each portion:
Participation: In addition to the coursework mentioned above, there is also a group participation/collaboration grade (10%) and overall class participation grade (3%). My group participation grade was 99% despite all teammates agreeing that we each pulled our weight in the project. I saw another reviewer suggest that the TAs may have a hidden set of criteria they use to finalize your collaboration score - I'm not sure if this is true or not though. My overall class participation grade was 100% despite not participating on EdStem much. I was very annoyed at the spammy students who would 'participate' by chaining 20+ "Thank you"s at the end of someone else's post. I did not do any of that and only participated when I had something legitimate to ask, answer, or share that would contribute to the conversation and still earned a 100% grade for participation.
Overall: I felt that the effort required to earn a high grade was low. Not much coding was required, and the code that was assigned was mostly trivial. In this class, I learned a lot more about the documentation developed in the process of creating large pieces of software, but I wish there were more assignments about these pieces of documentation since that was my main takeaway from the class. The only time we wrote documentation for an assignment was the group project, but it was split among various group members. I would have liked more of the documentation to be done individually.
My experience was generally consistent with past reviews. Worthwhile if you have no/limited agile development experience, like coding in Java, and want an easy class to pair with another. I actually think the course was well organized, the lectures and assignments were reasonably well designed, though seriously outdated (e.g. group project is an android app coded in XML and Java).
The group project itself was a mixed bag. The instructors did a reasonable job pairing people with complimentary skills in my group but regardless I just think groups are hard in an online class. The project itself was a missed opportunity to create something that someone would actually want as a portfolio project.
Another gripe I have is the strict weekly release and submission schedule making it hard to organize the class around other commitments and weekend plans.
Good first class to take in the program. Helped me get the hang of being back in school. Projects were relative easy to complete minus the group projects. I got lucky with my group mates tho as everyone is doing their part but I can see this can be frustrating if there is someone in the team not working their part. Overall enjoyed the class. I did not have background in Java and Android but was able to figure out and finish the projects. However I've been working as frontend engineer for a while now which helped.
Finished the course with an A, achieving a 90.81%
Background: Bachelor's degree in Computer Science from a university ranked #377 out of 436 National Universities in U.S. News English is my second language (TOEFL score: 95/120) 1 year of experience as a full-stack developer and 6 months of experience in data analytics
Overall: This is the fifth class I’ve taken, and I find it interesting how it teaches both basic concepts and what to focus on as a software engineer. Now that I’m writing test cases, I’m more aware of what needs to be covered and which parts of the code aren’t. Even if you don’t know Java or Android development, this class can motivate you to learn—especially since it's graded. I’d say that after taking this class, I have a good understanding of Java and Android development syntax and how they work together.
Grading and Weight: Participation (3 / 3%): I answered and asked a few questions on Ed Discussion (around 10 in total) and received full points.
Assignment 1 (2 / 2%): Just a survey.
Assignment 2 (5 / 5%): Introduction to Git. As long as you follow the instructions, it’s not difficult.
Assignment 3 (10 / 10%): Introduction to Java. Similar to Assignment 2, just follow the instructions. Since I was new to Java, I had to look up some syntax online. But if you know any programming language, this should be pretty easy.
Assignment 4 (10 / 10%): Introduction to Android Studio. I spent more time on this one because I was completely new to both mobile development and Java. This assignment requires you to pass objects between classes, so I recommend starting early if you have no prior experience like me.
Assignment 5 (2 / 2%): As long as you present a reasonable design, the TA likely won’t grade too harshly. There’s no “correct” solution as long as you can justify your design choices, you should get full credit. Based on Ed Discussion, most point deductions came from syntax issues.
Group Project (17.19 / 18%): This depends heavily on your group. I was lucky to have a responsible team that everyone contributed, discussed implementation ideas, and divided the workload fairly. Even though all four of us were new to Java and Android Studio, we worked well together. I can imagine it would be a bad experience if your teammates don’t participate.
Collaboration (Group Project) (9.9 / 10%): Since our group worked well together, I believe we all deserved full marks. However, many people mentioned they received scores around 9.5 to 10, so I suspect there might be a hidden rubric involved.
Assignment 6 (8.745 / 15%): This is a very important and challenging assignment, as it determines the final grade. Unfortunately, I didn’t perform well on it, and even after reviewing the solution, I still don’t fully understand what the assignment is about. I understand this may be important if you're pursuing a role as a testing engineer, but my focus is on full-stack development and data analytics. In my job, the kinds of tests we write aren’t closely related to the material covered in this assignment.
Individual Project (22.975 / 25%): I really liked this project. It felt like solving puzzles or LeetCode problems. To score 100% (or even extra credit), you need to carefully consider edge cases. While not everyone may enjoy it, I did my best and was happy with my result. The answers aren't revealed, but you’ll get some feedback on Gradescope.
Overall, this is a fair introduction to software development. For transparency, I took this course mostly to avoid having to take GA because it seems like a ton of work with overall poor experience and I've already taken an algo class in undergrad. For context, I'm almost done with this program.
For every course, I think it's important to try to understand what are the "skills" that a course teaches or helps reinforce if you choose to take it. SDP provides you with some basic experience in the following skills:
I finished with a high A in the course and my strongest advice to anyone (which goes beyond just this class tbh): learn to read assignments carefully. To those complaining about the TAs, the student body in this course was the worst case I've seen of people constantly re-posting redundant questions or things that are clearly outlined in the assignment instructions. The staggering amount of poor posts is a canary to me that people are clearly not reading the instructions.
It's probably true you need to be extra careful in this class compared to others. If you misread or interpret something, it can definitely cost you some points. Want a tip? Before you start and prior to submitting an assignment, read the Ed Discussion board posts to go over anything that you may have misinterpreted or that the staff has posted about. I've made this mistake in other classes but it's become a best practice now to always review the Ed Discussion board.
With regards to the Group Project, overall I would say it was fine. I wouldn't say I had the best group but we got by. Honestly the hardest part are the non-technical and kind of awkward factors of figuring out how to collaborate, divide up work, coordinate when to meet, etc. Start early and be proactive.
I personally rated this a 2/5 difficulty but if you do not have much experience with software development, this class could definitely be a lot of work. However, I'd argue that if you don't have much software experience, then the opportunity to have a good return on investment with this class is high.
Don't be afraid of the other reviews complaining about this course. An A is totally achievable; you just need to read the damn instructions.
This class was significantly easier than my similar sophomore year CS class. There are no tests which is super nice and its all project based. All of the projects and lectures were pretty straightforward, including the group project. There's one unit testing assignment where the class average is like 71 and that can kill some peoples grades. It happens every year because they don't explain the different types of testing quite well or clearly enough, and the questions are just a little ambiguous. You can get all the problems right with enough double checking and second guessing but hopefully they'll improve that assignment
Overall: I thought this was a good first course. The course takes you through many different software development paradigms and software patterns - agile, waterfall, scrum, x-treme programming, factory pattern, strategy pattern, etc. The assignments teach you a lot of skills you may not know if you don't have a background in CS. The lectures holds your hand before your assignment journey. The office hours are nice because the instructor answers whatever questions are commented in the OH thread.
Assignments:
The first assignment is a simple survey to figure out team placements, which you get after the first 5 assignments are submitted.
The second assignment is a simple github introduction. If you follow all the directions as stated you'll be get 100%
The third assignment is a simple Java coding exercise. It should take you a couple of hours if you haven't done any serious Java coding. Maybe two hours max if you've previously done Java development. Not too difficult conceptually to handle. All it is asking you to do is encrypt and decrypt a message stored in a java class.
This assignment introduces you to Android Studio. I strongly recommend you go through the accompanying lecture and replicate the instructor's actions. That way, you'll have a strong background to be able to do android app. On the coding side, all you need is to copy and paste the third assignment over and make a responsive UI, which you learn in the tutorial lecture.
The fifth assignment asks you to layout the design wireframe/UML for the app that you'll create with your group mates. This shouldn't take you too long. You'll be discussing it with your teammates soon enough.
Group Project: For this group project, you create an app that tracks and compares different job offers. The first two weeks of the project require you to sketch out a couple different diagrams on how testing, UI design, use-case design, and component analysis will go. The lectures give you an example of each of those diagrams. The next two are a speed run of building the entire app. Please make sure you stash away a lot of time to complete the app. It is difficult to get everything done in a week or two.
Individual Project: The individual project focuses in on the testing unit of the class. They have you use their testing generator - which is an interesting tool. One I might actually incorporate into my own job. This project has you implement the mutate text operation of the cli tool box. Ordinarily, this would be about a week endeavor. However, they require you to use the testing framework and build tests which they give you two weeks to do.
Assignment 6: The last assignment you do involves the testing unit again. They present you a bunch of hypotheticals that cover certain testing metrics. Then ask if the testing metrics encompass other ones in attempting to find an error. Becareful reading the instructions on this one. You might also want to attend office hours.
Grading: Grading is relatively chill. Many of the assignments have auto-graders, so you'll know your grade as long as there isn't a academic conduct violation. The grades are curved a tiny bit at the end, but I think it's just a couple of points.