九声相和歌

导航

软件工程学习总结

不知不觉一个学期又过去了,这个学期里我收获到很多。

1.学习收获

a)你书写的代码量多少行?

·第一次作业

#include <stdlib.h>
#define MBIG 1000000000
#define MSEED 161803398
#define MZ 0
#define FAC (1.0/MBIG)
#include  <stdio.h>
#include  <math.h>         内部函数调用
#define  TFACTR 0.9
#define  ALEN(a,b,c,d)     sqrt(((b)-(a))*((b)-(a))+((d)-©)*((d)-©))       宏定义结点间的路径计算公式
void anneal(float x[ ], float y[ ], int iorder[ ], int ncity)    函数用于求解问题的最优解
  {
    int irbit1(unsigned long *iseed);    生成0或1的随机数函数
    int metrop(float de, float t);
    float ran3(long *idum);
    float revcst(float x[ ], float y[ ], int iorder[ ], int ncity, int n[ ]);
    void reverse(int iorder[ ], int ncity, int n[ ]);
    float trncst(float x[ ], float y[ ], int iorder[ ], int ncity, int n[ ]);
    void trnspt(int iorder[ ], int ncity, int n[ ]);
    int ans, nover, nlimit, i1, i2;
    int i, j, k, nsucc, nn, idec;     i,j,k用于循环控制的变量
                                             nsucc变量用于计数
                                             nn变量用于判断随机选取的路径是否合法
                                             idec变量用于保存函数irbit1函数返回的值(0或1)
    long idum;
    unsigned long iseed;
    float path, de, t;                    path变量用于记录当前总路径值
                                               de变量用于记录函数trncst,revcst的返回值(代价)
                                                t变量用于初始温度值
    nover=100*ncity;
    nlimit=10*ncity;
    path=0.0;
    t=0.5;
    for(i=1;i<ncity;i++){                   计算结点间初始顺序的路径长度
      i1=iorder[i];
      i2=iorder[i+1];
      path+=ALEN(x[i1], x[i2], y[i1], y[i2]);
    }
    i1=iorder[ncity];
    i2=iorder[1];
    path+= ALEN(x[i1], x[i2], y[i1], y[i2]);           将路径头尾相连进行计算并结束循环
    idum=-1;
    iseed=111;
    for(j=1;j<=100;j++){              
         nsucc=0;
         for(k=1; k<=nover; k++){
            do{
                 n[1]=1+(int) (ncity*ran3(&idum));
                 n[2]=1+(int) ((ncity-1)*ran3(&idum));
                 nn=1+((n[1]-n[2]+ncity-1)%ncity);

·第二次作业

package yang;

import java.util.Scanner;//用scanner类从键盘输入数据

public class yy {
public static void main(String[]args){

int[] aa={-2574,-4010,8243,771,2447,-5197,2556,8044,3314,3617,6065,-2817,3131,6318,2186,-113,629,-2582,-37,-1520,164,2055,-5936,5912,1717,5988,4781,5757,892,-4394,8034,2213,-1080,-2080,5364,106,2657,566,3940,-5116,4583,1806,6555,2621,-7197,528,1626,18,1049,6243,3198,4397,-1325,9087,936,-6291,662,-178,135,-3473,-2385,-165,1713,-7949,-4234,1138,2212,104,6968,-3632,3801,1137,-1296,-1215,4272,6223,-5922,-7723,7044,-2938,-8180,1356,1159,-4022,-3713,1158,-8715,-4081,-2541,-2555,-2284,461,940,6604,-3631,3802,-2037,-4354,-1213,767};

int sum=0;//用于统计和
Scanner a = new Scanner(System.in); //定义类的对象a,接收来自键盘的数据
System.out.println("从何开始?:");
int start = a.nextInt() ;
System.out.println("到哪结束?:");
int end =a.nextInt();
System.out.println("指定范围是:"+start+"---"+end);
for(int i=start-1;i<=end-1;i++)
sum+=aa[i];//此处循环
System.out.println("运算和:");
System.out.println(sum);
}
}

 

package yang;
import java.util.Scanner;
public class yy2 {
public static void main(String[] args) {
int[][] b={
{ -2574,-4010,8243,771,2447,-5197,2556,8044,3314,3617,6065,-2817,3131,6318,2186,-113,629,-2582,-37,-1520,
164,2055,-5936,5912,1717,5988,4781,5757,892,-4394,8034,2213,-1080,-2080,5364,106,2657,566,3940,-5116,
4583,1806,6555,2621,-7197,528,1626,18,1049,6243,3198,4397,-1325,9087,936,-6291,662,-178,135,-3473,-2385,
-165,1713,-7949,-4234,1138,2212,104,6968,-3632,3801,1137,-1296,-1215,4272,6223,-5922,-7723,7044,-2938,-8180,
1356,1159,-4022,-3713,1158,-8715,-4081,-2541,-2555,-2284,461,940,6604,-3631,3802,-2037,-4354,-1213,767},
{ 2740,-4182,-5632,-2966,-1953,567,-8570,1046,2211,1572,-2503,-1899,3183,-6187,3330,3492,-464,-2104,316,8136,
470,50,466,-1424,5809,2131,6418,-3018,6002,-8379,1433,1144,2124,1624,-602,-5518,5872,870,-5175,-3961,-427,
-6284,2850,481,6175,141,-766,-1897,-748,-4248,366,4823,3003,1778,3256,2182,2253,5076,5540,-2650,2451,-1875,
5482,-6881,-329,-969,-8032,-2093,612,1524,-5492,5758,-7401,-5039,3241,6338,3581,4321,-1072,4942,2131,210,-7045,
-7514,7450,-1142,-2666,-4485,-639,2121,-5298,-3805,-1686,-2520,-1680,2321,-4617,-1961,2076,7309}
};

Scanner b1 = new Scanner(System.in);
System.out.println("横轴开始:");//把二维数组看做一个数轴
int startA = b1.nextInt();
System.out.println("横轴结束:");
int endA =b1.nextInt();
System.out.println("竖轴开始:");
int startD = b1.nextInt();
System.out.println("数轴结束:");
int endD =b1.nextInt();
System.out.println("指定范围为:");
System.out.println("横轴"+startA+"---"+endA);
System.out.println("竖轴"+startD+"---"+endD);

int j=startD-1;
int sum=0;
for(int i=startA-1;i<endA-1; i++) //利用for while循环嵌套语句求和
{
while(j<endD-1)
{
j++;
sum=sum+b[i][j];
}
}

System.out.println("总和:"+sum);

}
}

 

从第一次作业到后面的几次作业,除了作业外没写过什么代码,总的书写量也就100行左右吧,对于一个学计算机的来说真的是少的可怜,实在是很惭愧,以后hi多多练习书写代码。

 b)熟悉(了解)了哪几个软件工具?

软件的话,首先是老师让我们调研的一类软件的发展演变,我选择的是Photoshop,因为这个软件对于我来说会比较常用。现在习惯用手绘板来画画,比较方便。还可以用来修修图。还有就是sai软件,也是一个绘图软件,这是最近画的一幅线稿,虽然和课程没什么关系_(:зゝ∠)_

 

还有就是必应词典,现在查单词什么的都用的它。

 c)这学期你学到的对软件工程相关知识有哪些?

这学期学到了很多知识,像软件的设计与实现,理解了总体设计,详细设计等等,设计一款软件所需要的团队间合作的交流配合,分工以及劳动成果的梳理。

 d)本课程对你在哪些方面有帮助?

让我了解到团队合作是很重要的,不管是什么事情,团员之间需要磨合配合交流,团队是一个集体,不是一个人。

 

2.不足之处:

a)课程在哪些方面与你最初的期望有较大差距?

一开始以为的软件工程也是像java,C++这样的编写代码之类的课程,但实际上是设计软件,而且课本上一行代码都没有,内容对我们来说没什么概念。

 

b)教学方法、教学内容等提出批评意见。

希望老师讲课的时候能中英文结合。PPT的内容全是英文,看起来挺费劲的,时间长了就不想看了。

3.建议:

a)如果让你重新开始学习这么课程,你准备怎么做?

如果能重新开始的话,我会认真去听讲、与老师互动。有好多堂课都有些神游,但越到后面越发觉得这门课很有意思。

b)如果让你从大一开始重新学习,你又准备怎么做?

从大一开始的话,我会好好学习C++以及java,为后面的课程打下良好的基础。

 

c)对老师教学方式、作业布置方式和点评、教学内容组织三个方面有什么建议和意见。

这门课给我的感觉与其他课程不一样,我以为会是很枯燥的一堂课,但发现其实是一门很有意思的课程,老师会组织互动课程,我觉得这种互动课程如果嫩更多一些就好了。

作业的布置方式是我第一次遇到的,不用写长篇大论的概念,繁琐的计算,所有的作业都在博客上完成,点评所有人都能够看到,并且还能够去点评别人的作业,非常的公平

公正公开。教学内容组织,我觉得老师有一个很好的框架,我们只需要跟着老师的步伐走,就能学习到知识。

 

4.推荐一位你觉得教得好的老师,简单介绍下他的课程(名称、教学目标),老师的教学方法、作业形式,以及你们如何师生沟通的。

推荐的话我觉得是华进老师吧,她是我们大二教数字逻辑设计的老师,她上课的内容条理清晰,讲课速度会按照我们的接受程度来讲,不会的只要提出来她就会重新讲解,不论课上还是课下。其实与华进老师沟通的不是非常多,华老师虽然看上去严肃,但实际上很好相处,有问题她都会耐心讲解。

 

5.自由发挥! 写下你想对老师、助教说的话(内容不限)。

两位老师都非常的有耐心且好相处,老师的课程到后面越听越有意思,希望老师能多多开展一些实践活动课,与我们有更多的交流,这样课堂气氛活跃了,玩手机神游的会少很多(๑•̀ㅂ•́)و✧,而且分组合作什么的让我们了解了团队合作的重要,学习到了课程以外的道理。

 

posted on 2015-12-25 14:58  九声相和歌  阅读(375)  评论(8编辑  收藏  举报