麻省理工学院-电子与计算机科学系:专业设置及各专业教学计划

麻省理工学院-电子与计算机科学系:专业设置及各专业教学计划 要想系统的学习某一门专业,请使用官方教学计划,权威,系统。 参考链接:http://www.bit.edu.cn/jyjx/bksjy/gzyljzykcsz/14298.htm 链接加入:麻省理工学院-电子与计算机科学系-开放课程 表1 北京理工大学:软件工程专业指导性教学计划进程 课 程 类 别 课 程 性 质 课 程 代 码 课 程 名 称 学 分 总 学 时 讲 课 学 时 实 验 学 时 上机学时 各学期平均周学时分配 1 2 3 4 5 6 7 8 基础教育 必修课 09000375 09000376 09000377 09000378 大学英语Ⅰ、Ⅱ(普通班,G) 大学英语口语Ⅰ、Ⅱ(普通班,G) 12 192 192 6 6 基础教育 必修课 12000068 计算机科学导论 2 32 24 8 2 基础教育 必修课 12000073 C语言程序设计 3 48 32 16 3 基础教育 必修课 12000033 程序设计方法与实践 2 32 8 24 2 基础教育 必修课 07000149 07000150 微积分A(Ⅰ、Ⅱ) 11 176 176 6 5 基础教育 必修课 07000176 线性代数 3 48 48 3 基础教育 必修课 07000051 概率与数理统计 3 48 48 3 基础教育 必修课 09000417 思想道德修养与法律基础 2 32 32 2 基础教育 必修课 09000488 知识产权法基础 1 16 16 1 基础教育 必修课 09000490 中国近现代史纲要 3 48 32 16 3 基础教育 必修课 09000489 毛泽东思想、邓小平理论及“三个代表”重要思想 4 64 48 16 4 基础教育 必修课 09000191 马克思主义基本原理 3 48 48 3 基础教育 必修课 09000008 大学生心理素质发展 1 16 16 1 基础教育 必修课 99000001 99000002 99000003 99000004 体育(I~Ⅳ) 4 128 128 2 2 2 2 基础教育 选修课 12000056 组合数学 专项数学 任选2学分 2 32 32 2 基础教育 选修课 11000094 3D数学与算法 基础教育 选修课 11000095 算法分析与设计 基础教育 选修课 专项英语 4 64 64 2 2 基础教育 选修课 通识教育选修课 6 96 96 2 2 2 学科基础教育 必修课 01200256 数字电路与数字逻辑 2.

READ MORE

Connecting wifi from the command line, ubuntu or embedding ubuntu

ref: How to Connect WiFi from Terminal on Ubuntu 16.04 (added on Dec, 2019) reference:  http://code.google.com/p/ohmm-sw/wiki/LinuxTips#Connecting_to_Networks_on_the_Ubuntu_Command_Line and : http://www.ccs.neu.edu/course/cs4610/   LinuxTips   Updated Yesterday (24 hours ago) by martyv...@gmail.com Setting Up Your Own Linux Host Tweaks for a Virtual Machine on a Flash Drive Adding/Removing Users Connecting to Networks on the Ubuntu Command Line Passwordless SSH Remote X Window Display History The Old Way The Modern Way: Connecting from Server to Client The Modern Way: Connecting from Client to Server Setting Up Your Own Linux Host We recommend using Ubuntu Precise (12.

READ MORE

Java学习个人笔记(一)配置java环境变量(Feb04,2013 - )

         写这个个人笔记完全是出于记录自己所学,方便本人日后参考,可能很零散。这个笔记是建立在C语言编程基础上,本人学习Java只学习它与C语言不同的地方,或者我在C编程过程中很少用到的地方。所用的教材是Youtube一位达人做的视频:Java编程简明教程 by Thenewboston(Youtube)     每次开一贴,学习Java笔记都记在这里。所写内容都是个人菜鸟级的理解,肯定错误百出。    ---------- Oct 14, 2014 --------- 配置Java环境变量: http://www.oracle.com/technetwork/java/javase/downloads/index.html 下载安装JDK for x86 (32bit) or x64(64bit). 右键“计算机”-属性-高级系统配置-高级-环境变量-xxx的用户变量- 变量名:JAVA_HOME 变量值jdk的目录,例如本人:E:\Program Files\Java\jdk1.7.0_40 变量名: path 变量值: ;%JAVA_HOME%\bin ;%JAVA_HOME%\jre\bin 变量名:classpath 变量值: ;%JAVA_HOME%\lib ;%JAVA_HOME%\lib\tools.jar (For my backup:)<span style="white-space:pre"> </span>JAVA_HOME <span style="white-space:pre"> </span>F:\Program Files\Java\jdk1.8.0_20 //java jdk 1.8 <span style="white-space:pre"> </span>C:\Program Files\Java\jdk1.7.0_67 //java jdk 1.7 <span style="white-space: pre;"> </span>path <span style="white-space: pre;"> </span>;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin <span style="white-space: pre;"> </span>classpath <span style="white-space: pre;"> </span>;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar ———————–下面检验是否配置成功,运行cmd命令,在出现的对话框输入”java“命令,如果出现以下结果,则表明配置成功。————用法: java [-options] class [args…] (执行类) 或 java [-options] -jar jarfile [args…] (执行 jar 文件) 其中选项包括: -d32 使用 32 位数据模型 (如果可用) -d64 使用 64 位数据模型 (如果可用) -client 选择 "client" VM -server 选择 "server" VM 默认 VM 是 client.

READ MORE

MATLAB 笔记,关于Filter函数的功能和使用,求simple(冲激)和unit step(阶跃)响应

在MATLAB中,可以用函数y=filter(p,d,x)实现差分方程的仿真,也可以用函数 y=conv(x,h)计算卷积,用y=impz(p,d,N)求系统的冲激响应。 实现差分方程 先从简单的说起: filter([1,2],1,[1,2,3,4,5]) 实现 y[k]=x[k]+2*x[k-1] y[1]=x[1]+2*0=1%(x[1]之前状态都用0) y[2]=x[2]+2*x[1]=2+2*1=4 a. 下面程序是用来实现h和x的卷积的,分别用了filter和conv函数,两者函数得出的结果一样。 h = [3 2 1 -2 1 0 -4 0 3]; % impulse response x = [1 -2 3 -4 3 2 1]; % input sequence y = conv(h,x); n = 0:14; subplot(2,1,1); stem(n,y); xlabel('Time index n'); ylabel('Amplitude'); title('Output Obtained by Convolution'); grid; x1 = [x zeros(1,8)]; y1 = filter(h,1,x1); subplot(2,1,2); stem(n,y1); xlabel('Time index n'); ylabel('Amplitude'); title('Output Generated by Filtering'); grid; 要实现下式的冲击响应和阶跃响应,可以分别采用三种方法。 y[n]+0.75y[n-1]+0.125y[n-2]=x[n]-x[n-1]。 b. 单位冲激响应: (1)用filter函数  a1=[1,0.75,0.125]; b1=[1,-1]; n=0:20; x1=[1 zeros(1,20)]; y1filter=filter(b1,a1,x1); stem(n,y1filter); title('y1filter'); xlabel('x'); ylabel('y');  (2)用conv函数  a1=[1,0.

READ MORE

直接型FIR滤波器的C语言实现

直接型FIR滤波器的C语言实现    设输入数据x[N],输出数据y[N],滤波器系数h[n] 1.直接法(由y(m)=h(0)*x(m)+h(1)*x(m-1)+...+h(N-1)*x(m-n-1)); void fir(short x[], short h[], short y[]) { int i,j; long long sum; for (j = 0; j < N; j++) { sum = 0; for (i = 0; i < n; i++) sum += x[j-i] * h[i]; y[j] = sum >> 15; } }乘法器使用次数:N*n   2.逆推法: void fir(short x[], short h[], short y[]) { int i,j; long sum; for (j = 0; j < n; j++) { for (i = 0; i < N; i++) { sum = 0; sum = h[j] * x[i] y[i] += sum >> 15; } } }乘法器使用次数:N*n

READ MORE

使用Gnu gprof进行Linux平台下的程序分析

http://www.pcdog.com/edu/linux/18/10/u231314_1.html http://www.pcdog.com/edu/linux/18/10/u231314_2.html http://www.pcdog.com/edu/linux/18/10/u231314_3.html Compile source .c code for analysis, Create executable file:         >> gcc -pg test.c -o test  2. Launch executable file, Create gmon.out         >> ./test 3. Use gmon.out to analysis:         >>  gprof -b test gmon.out | less     or: >>  gprof -b test gmon.out | more 4.             常用的Gprof 命令选项解释:   -b不再输出统计图表中每个字段的详细描述。 -p 只输出函数的调用图(Call graph 的那部分信息)。 -q 只输出函数的时间消耗列表。 -E Name不再输出函数Name 及其子函数的调用图,此标志类似于 -e 标志,但它在总时间和百分比时间的计算中排除了由函数Name 及其子函数所用的时间。

READ MORE

【技术】C语言传递指针到函数 About transfer pointer into function

     About transfer pointer into function (C Language) In the main() function of our program, we often need to use some user defined functions to do our calculating work. For a user_function, we may transfer into several int variable, and return a variable. or, we may need modify a data array by calling a function. And return void. or, we may need modify a data array in a struct, and call a function to modify that data array. We need to transfer into the function the pointer of that struct containing our data array.

READ MORE

Goertzel Algorith(戈策尔算法)用于检出特定输入频率

Detect the specific frequency of input signal Using the Goertzel Algorithm Watch the video of this program: Path1: http://v.youku.com/v_show/id_XNDQwMDcwNDAw.html Path2: http://www.youtube.com/watch?v=sIRVT5iqEVQ 原文有大量表示公式的图片,不便转载。请击: 原文链接:http://blog.sina.com.cn/s/blog_55a4cddc01017lr4.html

READ MORE

关于微编程(Microprogramming)的简史

A brief history of Microprogramming 关于微编程(Microprogramming)的简史  http://www.cs.clemson.edu/~mark/uprog.html  <--- the source text of this translation. Mark Smotherman 总论: 为了在处理器内执行指令,需要一些控制逻辑,微编程就是实现这些控制逻辑的技术。它建立在两项操作上,一是从控制库取出底层的微指令。二是从每条微指令中提取合适的控制信号和微程序序列信息。 ----------------------------------- 定义和示例 尽管有些零星的用法将“微编程”和“编程一个微机”等同起来,但这是不标准的定义。反之,微编程是一个系统级的实现计算机中央处理单元的控制逻辑的技术。它是一种以贮存程序逻辑的形式,用以替代硬件控制电路。 一个计算机的中央控制单元由数据路径和控制单元组成。 数据路径包括:寄存器,运算功能单元(functional unit,如移位器,ALU等),内部处理器总线和路径,主存接口单元和I/O总线。 控制单元负责一系列的步骤,这些步骤是用户可见的指令的执行期间,数据路径采取的步骤。那些指令或许是“宏指令”,比如:load, add, store等等。 数据路径的每一个动作都被称为“寄存器转移”,它们都牵涉到信息在数据路径之间的转移,也许是运算功能单元在进行数据的转移,地址的转移,或者是指令位的转移。一次寄存器转移的完成可能由以下步骤构成:从寄存器发出内容到内部处理器总线,选择ALU的操作,移位等等。通过这样的步骤,信息会传输,在一个或多个寄存器的间进行发送和接收新值。 寄存器使能的信号控制了对寄存器发收数据的操作。操作选择信号控制了运算功能单元进行何种运算。他们都被称作控制信号,被控制单元所支持。一堆逻辑门电路使得数据路径对信号的传输信号的响应、在寄存器之间读写数据成为可能。他们被成为“控制点”。 一条宏指令的执行期间的每一步都由很多动作,比如寄存器传输,还需要按时间高度合理排列的一系列控制信号。一个单独的数据路径的动作通常被称为“微操作” microoperations. 未完不想续了。。。微编程是早期计算机使用的方法,现在已经不用,如果遇到有些老师要求写点introduce of micrioprogramming, you can just study the content in the link below. Good Luck~ 原文地址: http://www.cs.clemson.edu/~mark/uprog.html A brief history of Microprogramming 关于微编程(Microprogramming)的简史  http://www.cs.clemson.edu/~mark/uprog.html  <--- the source text of this translation. Mark Smotherman 总论: 为了在处理器内执行指令,需要一些控制逻辑,微编程就是实现这些控制逻辑的技术。它建立在两项操作上,一是从控制库取出底层的微指令。二是从每条微指令中提取合适的控制信号和微程序序列信息。 ----------------------------------- 定义和示例 尽管有些零星的用法将“微编程”和“编程一个微机”等同起来,但这是不标准的定义。反之,微编程是一个系统级的实现计算机中央处理单元的控制逻辑的技术。它是一种以贮存程序逻辑的形式,用以替代硬件控制电路。 一个计算机的中央控制单元由数据路径和控制单元组成。 数据路径包括:寄存器,运算功能单元(functional unit,如移位器,ALU等),内部处理器总线和路径,主存接口单元和I/O总线。 控制单元负责一系列的步骤,这些步骤是用户可见的指令的执行期间,数据路径采取的步骤。那些指令或许是“宏指令”,比如:load, add, store等等。 数据路径的每一个动作都被称为“寄存器转移”,它们都牵涉到信息在数据路径之间的转移,也许是运算功能单元在进行数据的转移,地址的转移,或者是指令位的转移。一次寄存器转移的完成可能由以下步骤构成:从寄存器发出内容到内部处理器总线,选择ALU的操作,移位等等。通过这样的步骤,信息会传输,在一个或多个寄存器的间进行发送和接收新值。 寄存器使能的信号控制了对寄存器发收数据的操作。操作选择信号控制了运算功能单元进行何种运算。他们都被称作控制信号,被控制单元所支持。一堆逻辑门电路使得数据路径对信号的传输信号的响应、在寄存器之间读写数据成为可能。他们被成为“控制点”。 一条宏指令的执行期间的每一步都由很多动作,比如寄存器传输,还需要按时间高度合理排列的一系列控制信号。一个单独的数据路径的动作通常被称为“微操作” microoperations. 未完不想续了。。。微编程是早期计算机使用的方法,现在已经不用,如果遇到有些老师要求写点introduce of micrioprogramming, you can just study the content in the link below.

READ MORE

Dinero cache simulator-Computer Architecture

【问题描述:】 PART A. The Dinero cache simulator is available on the COE Solaris system (machines alpha, beta). The following information is for using dineroIII (which is the default dinero installed on COE Solaris systems). You will also find dineroIV installed on both Solaris and Linux machines. Please use dineroIII for this assignment. You are welcome to experiment with dineroIV. Dinero allows you to configure a cache using command line arguments (see attached info on Dinero). The simulator takes as input an address trace.

READ MORE