Course summary

本文介绍了作者在软件工程课程中的学习经历,包括使用Python完成任务,协作编程中沟通的重要性,团队项目中的UI设计和前端开发挑战,以及AndroidStudio等工具和技术的应用。文章强调了沟通在配对编程中的关键作用和软件工程实践带来的个人成长。
摘要由CSDN通过智能技术生成

The Link Your Class

https://bbs.csdn.net/forums/MUEE308FZU202201

The Link of Requirement of This Assignment

https://bbs.csdn.net/topics/611628445

MU STU ID and FZU STU ID

20124180_832001330

Video demo link

https://www.bilibili.com/video/BV1ZW4y1g7rg/

GitHub link

https://github.com/yusherbalist/The-Majority

1.The CSDN links of each Lab

Lab1-1:http://t.csdn.cn/zY6eL

Lab1-2:https://bbs.csdn.net/topics/608837180

Lab2-1:https://bbs.csdn.net/topics/609001453

lab2-2:http://t.csdn.cn/0pf4P

Lab3-1:http://t.csdn.cn/CxJQm

Lab3-2:http://t.csdn.cn/TylhS

2.Summary and harvest

    • Personal programming
For Lab1-2 , I choose to use python to complete the task, which is the programming language I'm most familiar with. I just wanted to finish the task as soon as possible, so I always use the method that I originally thought of, and submit my assignment right after I implement all the functions.
    • Pair programming
For Lab2-1 , as I have had some experience for requirement analysis and UI design before, either personally or in pair, so actually this task is easy for me, and I am happy for finishing the UI with my partner that both of us were satisfied with.
For Lab2-2 , this could be a little challenging. First, I have never written Apps or websites before, bisides, the different coding style of us may be a problem. Fortunately, because my partner and I communicated very well, our code woked well together, and I finally broke out of my comfort zone, completed the task.
For example: We are always certifying if the css style of us matches, so that the pages written by different people could be uniformed.
I think communication is the most important in pair working! (PS: I need learn more about software programming.)
    • Team project practice
For Lab3-1, as I said before, I responsed for UI design, which is still not a problem for me, and I think our team did their work well. However the score of defense made me feel a bit upset [QAQ]. I think I still have a long way to go in designing practical software.
For Lab3-2, this is a quite large project. We have spent lot of time to learn many new knowledge on software programming. I responsed for the Voice Assistance part and the Open-screen Animation. I think it's very very difficult for me!! But finally we implement the desired functions in our requirement analysis successfully.
For example: At that time, I was very bold to create the open-screen animation when I was designing UI. Finally, when I wrote the front-end codes, I could only learn the Bezier curve hard to achive a smooth animation effect.
Note: I think my teammates did very well in the 2nd defense~

3.Technology and tools

    • Prototyping tool
mock I used to learn Lanhu for programme
    • Front-end Programming tool
VSCode/Flutter VSCode is very convenient for Web, Flutter is very suitable for Mobile.
    • Technology
We mainly use in team project: Android Studio

4. Else to say

The course of software engineering has helped me a lot. It enables me to have a more comprehensive understanding of the whole process of software design and development as a product manager and a clearer understanding of the entire software industry. I want to say that the teacher's class is also very good. While telling us knowledge, he also told a lot of his own stories. The most important thing is that teachers attach great importance to the final exam.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
7-3 Score Processing 分数 10 作者 翁恺 单位 浙江大学 Write a program to process students score data. The input of your program has lines of text, in one of the two formats: Student's name and student id, as <student id>, <name>, and Score for one student of one course, as <student id>, <course name>, <marks>. Example of the two formats are: 3190101234, Zhang San 3190101111, Linear Algebra, 89.5 Comma is used as the seperator of each field, and will never be in any of the fields. Notice that there are more than one word for name of the person and name of the course. To make your code easier, the score can be treated as double. The number of the students and the number of the courses are not known at the beginning. The number of lines are not known at the beginning either. The lines of different format appear in no order. One student may not get enrolled in every course. Your program should read every line in and print out a table of summary in .csv format. The first line of the output is the table head, consists fields like this: student id, name, <course name 1>, <course name 2>, ..., average where the course names are all the courses read, in alphabet order. There should be one space after each comma. Then each line of the output is data for one student, in the ascended order of their student id, with score of each course, like: 3190101234, Zhang San, 85.0, , 89.5, , , 87.3 For the course that hasn't been enrolled, leave a blank before the comma, and should not get included in the average. The average has one decimal place. There should be one space after each comma. And the last line of the output is a summary line for average score of every course, like: , , 76.2, 87.4, , , 76.8 All the number output, including the averages have one decimal place. Input Format As described in the text above. Output Format As described in the text above. The standard output is generated by a program compiled by gcc, that the round of the first decimal place is in the "gcc way". Sample Input 3180111435, Operating System, 34.5 3180111430, Linear Algebra, 80 3180111435, Jessie Zhao 3180111430, Zhiwen Yang 3180111430, Computer Architecture, 46.5 3180111434, Linear Algebra, 61.5 3180111434, Anna Teng Sample Output student id, name, Computer Architecture, Linear Algebra, Operating System, average 3180111430, Zhiwen Yang, 46.5, 80.0, , 63.2 3180111434, Anna Teng, , 61.5, , 61.5 3180111435, Jessie Zhao, , , 34.5, 34.5 , , 46.5, 70.8, 34.
06-06
很好,这是一道关于学生成绩数据处理的编程题。下面是我的解答: ```C++ #include <iostream> #include <vector> #include <map> #include <algorithm> #include <iomanip> using namespace std; int main() { map<string, string> name_map; // 学生姓名字典 map<string, vector<pair<string, double>>> score_map; // 学生成绩字典 map<string, double> sum_map; // 课程成绩和字典 map<string, int> cnt_map; // 课程成绩个数字典 string line; // 输入的一行数据 while (getline(cin, line)) { int pos1 = line.find(", "); // 第一个逗号的位置 int pos2 = line.find(", ", pos1 + 2); // 第二个逗号的位置 string id = line.substr(0, pos1); // 学生 ID string key = line.substr(pos2 + 2); // 课程名或学生姓名 if (key.find('.') != string::npos) { // 如果是学生成绩 double score = stod(key); // 成绩 string course = line.substr(pos1 + 2, pos2 - pos1 - 2); // 课程名 score_map[id].push_back(make_pair(course, score)); // 记录成绩 sum_map[course] += score; // 累加成绩和 cnt_map[course]++; // 记录个数 } else { name_map[id] = key; // 记录学生姓名 } } vector<string> courses; // 课程列表 for (auto item : cnt_map) { courses.push_back(item.first); } sort(courses.begin(), courses.end()); // 课程按字母顺序排序 cout << "student id, name, "; for (string course : courses) { cout << course << ", "; } cout << "average" << endl; for (auto item : score_map) { string id = item.first; // 学生 ID string name = name_map[id]; // 学生姓名 cout << id << ", " << name << ", "; double sum = 0; // 成绩总和 int cnt = 0; // 参加考试的课程数 for (string course : courses) { bool found = false; // 是否参加考试 for (auto score : item.second) { if (score.first == course) { cout << fixed << setprecision(1) << score.second << ", "; sum += score.second; cnt++; found = true; break; } } if (!found) { cout << ", , "; } } if (cnt > 0) { cout << fixed << setprecision(1) << sum / cnt << endl; } else { cout << endl; } } cout << ", , "; for (string course : courses) { cout << fixed << setprecision(1) << (cnt_map[course] > 0 ? sum_map[course] / cnt_map[course] : 0) << ", "; } cout << endl; return 0; } ``` 这个程序的主要思路是使用四个字典来记录学生姓名、学生成绩、课程成绩和以及课程成绩个数,并且按照题目要求输出表格。 程序的详细注释如下: 1. 使用 `map<string, string> name_map` 记录每个学生的姓名,其中键为学生的 ID,值为学生的姓名。 2. 使用 `map<string, vector<pair<string, double>>> score_map` 记录每个学生的成绩,其中键为学生的 ID,值为包含课程名和成绩的一对 pair,使用 vector 来存储多个 pair。 3. 使用 `map<string, double> sum_map` 记录每门课程的成绩总和,其中键为课程名,值为成绩总和。 4. 使用 `map<string, int> cnt_map` 记录每门课程的成绩个数,其中键为课程名,值为成绩个数。 5. 使用 `getline(cin, line)` 读入每行输入,然后使用 `find()` 函数和 `substr()` 函数来解析每行输入。 6. 如果第二个逗号后面是数字,说明这是学生成绩,就把成绩和课程名记录在 `score_map`、`sum_map` 和 `cnt_map` 中。 7. 如果第二个逗号后面不是数字,说明这是学生姓名,就把学生姓名记录在 `name_map` 中。 8. 使用 `vector<string> courses` 记录所有参加考试的课程名,并且按字母顺序排序。 9. 使用 `cout` 输出表格头,先输出 `student id, name, `,然后按顺序输出所有课程名,最后输出 `average`。 10. 使用 `cout` 输出每个学生的成绩,先输出学生的 ID 和姓名,然后按顺序输出所有课程的成绩,如果某门课程没有参加考试,就留空,最后输出平均成绩。 11. 使用 `cout` 输出所有课程的平均成绩。 程序中使用了 `fixed` 和 `setprecision()` 函数来控制输出的小数点后一位。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值