I'm an international student pursing master's degree in computer science in the US. This semester I was doing a course not even an elective to my program. I chose it because it seemed very interested to me in terms of plausible experience that I can get by working on some external project. Such projects were provided by external "clients". I've been assigned to a project with three undergrads. The project that we got was pretty simple: build a website with a specific purpose. Our team chose programming languages and frameworks that I've not been familiar with but I have enough experience in coding at all. We separated in two subteams. Two person were working on a one half (frontend), me and another team member on the second half (backend).
From the very beginning I tried to be into the project as much as I can but, unfortunately, very soon I found that my other team members were struggling not just in these specific programming languages but in coding at all. "That's ok", - I told myself and tried many times to engage them in the learning process. During my studies of these technologies I tried to share experience with my team members many times. Quickly I realized that they were not just not familiar with technologies but didn't show any interested in learning at all. I had a conversation with our client about it and he agreed that all undergrads don't seem doing anything useful. Client noticed me that he's planning to have a talk about that with the class' instructor (who is responsible for technical questions) or professor (who is responsible for organizational questions).
After the spring recess the instructor asked me about a face-to-face meeting with me. At the meeting he asked what is happening with the project and what problems do we have? I explained that all my team members are not interested neither in the project, not in a learning process at all. Instructor acknowledged that and mentioned that undergrads usually start to work before the end of the semester (before grading). I asked him if I can take just the project on my own so we'll able to deliver our project to a client but he insisted to keep me working on my part (backend).
3 weeks before the end of the semester, my team members, for real, started to do something. They even started to ask a piece of advice from me sometimes. Unfortunately, due to the lack of knowledge and experience it was useless. I decided that I'd like to finish at least the second part of the project (backend) so client will have at least some foundation of the future project. I emailed to my instructor that I'd like solely to work on the backend and let another team member who used to work on the second part with me (backend) help others on the first part (frontend). As a result, three of them and I'm alone.
Since to that moment the second part was a mess of just copied pieces of information from the internet, I decided to start that part from scratch and spent many nights during last weeks on working with that. Fortunately, I finished my part in time. Polished, tested and ready for production. Unfortunately, the first part (frontend) wasn't done. There were small pieces of something. In the end of the semester, instructor asked the class to provide common information about what we did and what we didn't.
In time of grading for semester I found out that my grade was not what I expected. I came to instructor for a clarification about the grade and he said that I got reduced grade since the project (website) doesn't work. And, by the way, that he learned about the problems in the team from me at our meeting but not from our client I expected earlier. I replied to the instructor that the second part is done and it's possible to check it apart. He acknowledged that he checked it and it seems as the best work (code) in the class but, anyway, the project is not done and we (the team) didn't delivered what hasn't been done before grading. Since the syllabus says that 20% of the grade is shared between all team members, I got the reduced grade.
My question is: Since the instructor knew about the problems in our team and I delivered alone solid foundation of the project, is it appropriate to get a reduced grade? Because it seems that I wasn't able to get a higher grade from the very beginning because of my team members.
I tried to cover all the details of the story but, probably, some small details are missing since the post is already too long