2月7日,收到郵件需在2月8-15日期間,臨時協助起步科技·H5創新學院的招聘工作。
8日晨,已經可在郵箱中查閱來自智聯、獵聘、前程無憂等招聘網站的應聘者簡歷。
篩選、分類、給初審通過的應聘者發面談邀請,逐一電話確認時會有個別性情真爽的年輕應聘者很直接地吐槽過往遇到的奇葩面試經歷。
還有些則是被某些企業以招聘面試為由騙去,印象最深的是一位聲音柔美的女生乖巧禮貌地跟我說:“對不起,剛才還以為您是像某某一樣呢……因為我是要找工作的。”
面試本身就是一個雙向選擇的過程,在任職條件和崗位職責允許的情況下,起步科技·H5創新學院其實很愿意給年輕候選人機會,他們雖然缺少豐富的作戰經驗,但只要勤勉好學,小雛鳥很快就能長成雄鷹。
我們希望每一位加入起步科技·H5創新學院的隊友既是工作者,也是管理者。對自己的工作,不僅能夠統攬全局,指揮若定; 也能夠技如雕蟲,洞察入微; 更能夠防患于未然,未雨而綢繆。
針對候選人反饋的2個典型的負性事件,我想說:
這種事不好說,大大小小的企業魚龍混雜,總不可能要求習大大把“不好”的企業全撤了吧。
主要還得靠應聘者自己去識別,收到面試通知時,別急著風風火火地就去了,先做這幾件事:
? 到工商局網站企業信用公示版塊查查該企業工商信息,有沒正常年檢等情況;
? 該企業有沒百度百科?有沒官網?有就打開看看,它是干嗎的?有哪些核心業務?跟你應聘的職位是否相關?順便想想,你能為它做什么?實現哪些價值?
? 官網有沒新聞動態類的版塊?有沒微信公號、官方微博或其他媒體號?都看看,一是了解內容,二是看它發布新聞動態的頻率。
? 如果有必要的話,給HR打個電話,表示收到了面試邀請或通知,搜尋查閱了相關資料,簡單聊聊你對該企業和所應聘職位的所思所想,也留意對方通過電話溝通所表現出來的語言邏輯和職業素養,綜合判斷其可信度。
說說以招聘名義招生的,Y是咋想的?
投身教育,卻偏要干騙人的勾當,要這么招生么?想想你們的教學質量得有多爛?又是多沒底線?
覺得自己計策無雙么?有本身你騙一輩子,見光就死,這智商沒誰了。
聽領導話騙人的童鞋先別覺得自己有多無辜,你自己沒有思想么?沒點原則嗎?寧可站著死,也不跪著生,良禽擇木而棲,賢臣擇主而侍!這道理得懂。
做人做事,有所為,有所不為。
有所不為,比有所為更重要。
說句題外話,記得咪蒙寫過一篇文章:能用汗水解決的問題,別特么用淚水。
話糙理不糙,我是很共鳴的,建議沒看過的童鞋可以關注下。
借著最近接觸HTML5 APP較多,耳濡目染的就總琢磨怎么能把它融入日常工作,這次臨時協助招聘就嘗試著是不是能把H5創新學院力推的HTML5 APP衍化為一種工作思路?一項工作為什么不能視為一個產品?招聘可不可以是這樣的:
IPAD MINI 顯示效果
左邊是占2/3的是內容區,是工作體悟,但如果是非臨時短期項目,也可以放工作總結和計劃表單,在PAD打開一目了然,有助于自我目標管控和進度查閱。
右邊1/3是這項工作常用的資料,比如:招聘計劃、面談邀請函樣本、候選人情況概覽、跟候選人深入溝通可能用的簡介等。無論自己查閱,還是在任何時候交付給任何隊友,都會比較清晰,就像是個工作手冊,只不過它會更立體,結構化展示力更強。
這其實跟年前起步科技·H5創新學院發起的大學教師寒假讀書/觀影/游學筆記HTML5APP是一個道理,看過的書、走過的路、見過的人,都會在我們身上留下痕跡,可要是不加以留存、分析、總結和管理就很難形成長期記憶,本來是很好的東西卻被沉寂,最終遺忘,會很可惜。
今天的嘗試還很初級,但它比昨天的zip包(所有文檔打個壓縮包)好,而明天一定會比今天更好。
在 JavaScript 中,對象是一組無序的相關屬性和方法的集合,所有的事物都是對象,例如字符串、數值、數組、函數等。
對象是由屬性和方法組成的:
在 JavaScript 中,現階段我們可以采用三種方式創建對象(object):
對象字面量:就是花括號 { } 里面包含了表達這個具體事物(對象)的屬性和方法
{ } 里面采取鍵值對的形式表示
var star = {
name : 'pink',
age : 18,
sex : '男',
sayHi : function(){
alert('大家好啊~');
}
};
// 多個屬性或者方法中間用逗號隔開
// 方法冒號后面跟的是一個匿名函數
console.log(star.name) // 調用名字屬性
console.log(star['name']) // 調用名字屬性
star.sayHi(); // 調用 sayHi 方法,注意,一定不要忘記帶后面的括號
跟之前的 new Array() 原理一致:var 對象名 = new Object();
使用的格式:對象.屬性 = 值
var obj = new Object(); //創建了一個空的對象
obj.name = '張三豐';
obj.age = 18;
obj.sex = '男';
obj.sayHi = function() {
console.log('hi~');
}
//1.我們是利用等號賦值的方法添加對象
//2.每個屬性和方法之間用分號結束
console.log(obj.name);
console.log(obj['sex']);
obj.sayHi();
構造函數 :是一種特殊的函數,主要用來初始化對象,即為對象成員變量賦初始值,它總與 new 運算符一起使用。我們可以把對象中一些公共的屬性和方法抽取出來,然后封裝到這個函數里面。
在 js 中,使用構造函數要時要注意以下兩點:
//構造函數的語法格式
function 構造函數名() {
this.屬性 = 值;
this.方法 = function() {}
}
new 構造函數名();
//1. 構造函數名字首字母要大寫
//2. 構造函數不需要return就可以返回結果
//3. 調用構造函數必須使用 new
//4. 我們只要new Star() 調用函數就創建了一個對象
//5. 我們的屬性和方法前面必須加this
function Star(uname,age,sex) {
this.name = uname;
this.age = age;
this.sex = sex;
this.sing = function(sang){
console.log(sang);
}
}
var ldh = new Star('劉德華',18,'男');
console.log(typeof ldh) // object對象,調用函數返回的是對象
console.log(ldh.name);
console.log(ldh['sex']);
ldh.sing('冰雨');
//把冰雨傳給了sang
var zxy = new Star('張學友',19,'男');
new 在執行時會做四件事:
語法如下
for(變量 in 對象名字){
// 在此執行代碼
}
語法中的變量是自定義的,它需要符合命名規范,通常我們會將這個變量寫為 k 或者 key。
for(var k in obj) {
console.log(k); //這里的 k 是屬性名
console.log(obj[k]);//這里的 obj[k] 是屬性值
}
var obj = {
name: '秦sir',
age: 18,
sex: '男',
fn:function() {};
};
console.log(obj.name);
console.log(obj.age);
console.log(obj.sex);
//for in 遍歷我們的對象
//for (變量 in 對象){}
//我們使用for in 里面的變量 我們喜歡寫k 或者key
for(var k in obj){
console.log(k); // k 變量 輸出得到的是屬性名
console.log(obj[k]); // obj[k] 得到的是屬性值
}
學習一個內置對象的使用,只要學會其常用成員的使用即可,我們可以通過查文檔學習,可以通過MDN/W3C來查詢
MDN: https://developer.mozilla.org/zh-CN/
Math 對象不是構造函數,它具有數學常數和函數的屬性和方法。跟數學相關的運算(求絕對值,取整、最大值等)可以使用 Math 中的成員。
// Math數學對象,不是一個構造函數,所以我們不需要new 來調用,而是直接使用里面的屬性和方法即可
Math.PI // 圓周率
Math.floor() // 向下取整
Math.ceil() // 向上取整
Math.round() // 四舍五入版 就近取整 注意 -3.5 結果是 -3
Math.abs() // 絕對值
Math.max()/Math.min() // 求最大和最小值
注意:上面的方法必須帶括號
console.log(Math.PI);
console.log(Math.max(1,99,3)); // 99
練習:封裝自己的數學對象
利用對象封裝自己的數學對象,里面有PI 最大值 和最小值
var myMath = {
PI: 3.141592653,
max: function() {
var max = arguments[0];
for (var i = 1; i < arguments.length; i++) {
if (arguments[i] > max) {
max = arguments[i];
}
}
return max;
},
min: function() {
var min = arguments[0];
for (var i = 1; i < arguments.length; i++) {
if (arguments[i] < min) {
min = arguments[i];
}
}
return min;
}
}
console.log(myMath.PI);
console.log(myMath.max(1, 5, 9));
console.log(myMath.min(1, 5, 9));
//1.絕對值方法
console.log(Math.abs(1)); // 1
console.log(Math.abs(-1)); // 1
console.log(Math.abs('-1')); // 1 隱式轉換,會把字符串 -1 轉換為數字型
//2.三個取整方法
console.log(Math.floor(1.1)); // 1 向下取整,向最小的取值 floor-地板
console.log(Math.floor(1.9)); //1
console.log(Math.ceil(1.1)); //2 向上取整,向最大的取值 ceil-天花板
console.log(Math.ceil(1.9)); //2
//四舍五入 其他數字都是四舍五入,但是5特殊,它往大了取
console.log(Math.round(1.1)); //1 四舍五入
console.log(Math.round(1.5)); //2
console.log(Math.round(1.9)); //2
console.log(Math.round(-1.1)); // -1
console.log(Math.round(-1.5)); // -1
// 得到兩個數之間的隨機整數,并且包含這兩個整數
function getRandom(min,max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
console.log(getRandom(1,10));
1.隨機點名
var arr = ['張三', '李四','王五','秦六'];
console.log(arr[getRandom(0,arr.length - 1)]);
2.猜數字游戲
function getRandom(min,max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
var random = getRandom(1,10);
while(true) { //死循環 ,需要退出循環條件
var num = prompt('請輸入1~10之間的一個整數:');
if(num > random) {
alert('你猜大了');
}else if (num < random) {
alert('你猜小了');
}else {
alert('你猜中了');
break; //退出整個循環
}
}
var now = new Date();
console.log(now);
如果括號里面有時間,就返回參數里面的時間。例如日期格式字符串為 ‘2019-5-1’,可以寫成new Date('2019-5-1') 或者 new Date('2019/5/1')
// 1.如果沒有參數,返回當前系統的當前時間
var now = new Date();
console.log(now);
// 2.參數常用的寫法 數字型 2019,10,1 字符串型 '2019-10-1 8:8:8' 時分秒
// 如果Date()里面寫參數,就返回括號里面輸入的時間
var data = new Date(2019,10,1);
console.log(data); // 返回的是11月不是10月
var data2 = new Date('2019-10-1 8:8:8');
console.log(data2);
我們想要 2019-8-8 8:8:8 格式的日期,要怎么辦?
需要獲取日期指定的部分,所以我們要手動的得到這種格式
方法名 | 說明 | 代碼 |
getFullYear() | 獲取當年 | dObj.getFullYear() |
getMonth() | 獲取當月(0-11) | dObj.getMonth() |
getDate() | 獲取當天日期 | dObj.getDate() |
getDay() | 獲取星期幾(周日0到周六6) | dObj.getDay() |
getHours() | 獲取當前小時 | dObj.getHours() |
getMinutes() | 獲取當前小時 | dObj.getMinutes() |
getSeconds() | 獲取當前秒鐘 | dObj.gerSeconds() |
示例:
var date = new Date();
console.log(date.getFullYear()); // 返回當前日期的年 2019
console.log(date.getMonth() + 1); //返回的月份小一個月 記得月份 +1
console.log(date.getDate); //返回的是幾號
console.log(date.getDay()); //周一返回1 周6返回六 周日返回0
// 寫一個 2019年 5月 1日 星期三
var date = new Date();
var year = date.getFullYear();
var month = date.getMonth() + 1;
var dates = date.getDate();
console.log('今天是' + year +'年' + month + '月' + dates +'日' );
// 封裝一個函數返回當前的時分秒 格式 08:08:08
function getTimer() {
var time = new Date();
var h = time.getHours();
h = h < 10 ? '0' + h : h;
var m = time.getMinutes();
m = m < 10 ? '0' + m : m;
var s = time.getSeconds();
s = s < 10 ? '0' + s : s;
return h + ':' + m + ':' + s;
}
console.log(getTimer());
// 獲取Date總的毫秒數 不是當前時間的毫秒數 而是距離1970年1月1號過了多少毫秒數
// 實例化Date對象
var date = new Date();
// 1 .通過 valueOf() getTime() 用于獲取對象的原始值
console.log(date.valueOf()); //得到現在時間距離1970.1.1總的毫秒數
console.log(date.getTime());
// 2.簡單的寫法
var date1 = +new Date(); // +new Date()返回的就是總的毫秒數,
console.log(date1);
// 3. HTML5中提供的方法 獲得總的毫秒數 有兼容性問題
console.log(Date.now());
示例:
function countDown(time) {
var nowTime = +new Date(); //沒有參數,返回的是當前時間總的毫秒數
var inputTime = +new Date(time); // 有參數,返回的是用戶輸入時間的總毫秒數
var times = (inputTime - nowTime) / 1000; //times就是剩余時間的總的秒數
var d = parseInt(times / 60 / 60 / 24); //天數
d < 10 ? '0' + d : d;
var h = parseInt(times / 60 / 60 % 24); //小時
h < 10 ? '0' + h : h;
var m = parseInt(times / 60 % 60); //分
m < 10 ? '0' + m : m;
var s = parseInt(times % 60); //秒
s < 10 ? '0' + s : s;
return d + '天' + h + '時' + m + '分' + s + '秒';
}
console.log(countDown('2020-11-09 18:29:00'));
var date = new Date;
console.log(date); //現在時間
創建數組對象的兩種方式
var arr = [1, 23];
var obj = {};
console.log(arr instanceof Array); // true
console.log(obj instanceof Array); // false
console.log(Array.isArray(arr)); // true
console.log(Array.isArray(obj)); // false
方法名 | 說明 | 返回值 |
push(參數1…) | 末尾添加一個或多個元素,注意修改原數組 | 并返回新的長度 |
pop() | 刪除數組最后一個元素 | 返回它刪除的元素的值 |
unshift(參數1…) | 向數組的開頭添加一個或更多元素,注意修改原數組 | 并返回新的長度 |
shift() | 刪除數組的第一個元素,數組長度減1,無參數,修改原數組 | 并返回第一個元素 |
示例:
// 1.push() 在我們數組的末尾,添加一個或者多個數組元素 push 推
var arr = [1, 2, 3];
arr.push(4, '秦曉');
console.log(arr);
console.log(arr.push(4, '秦曉'));
console.log(arr);
// push 完畢之后,返回結果是新數組的長度
// 2. unshift 在我們數組的開頭 添加一個或者多個數組元素
arr.unshift('red');
console.log(arr);
// pop() 它可以刪除數組的最后一個元素,一次只能刪除一個元素
arr.pop(); //不加參數
// shift() 它剋刪除數組的第一個元素,一次只能刪除一個元素
arr.shift(); //不加參數
有一個包含工資的數組[1500,1200,2000,2100,1800],要求把數組中工資超過2000的刪除,剩余的放到新數組里面
var arr = [1500, 1200, 2000, 2100, 1800];
var newArr = [];
for (var i = 0; i < arr.length; i++) {
if (arr[i] < 2000) {
newArr.push(arr[i]);
}
}
console.log(newArr);
方法名 | 說明 | 是否修改原數組 |
reverse() | 顛倒數組中元素的順序,無參數 | 該方法會改變原來的數組,返回新數組 |
sort() | 對數組的元素進行排序 | 該方法會改變原來的數組,返回新數組 |
示例:
// 1.翻轉數組
var arr = ['pink','red','blue'];
arr.reverse();
console.log(arr);
// 2.數組排序(冒泡排序)
var arr1 = [3,4,7,1];
arr1.sort();
console.log(arr1);
// 對于雙位數
var arr = [1,64,9,61];
arr.sort(function(a,b) {
return b - a; //降序的排列
return a - b; //升序
}
)
方法名 | 說明 | 返回值 |
indexOf() | 數組中查找給定元素的第一個索引 | 如果存在返回索引號,如果不存在,則返回-1 |
lastIndexOf() | 在數組的最后一個索引,從后向前索引 | 如果存在返回索引號,如果不存在,則返回-1 |
示例:
//返回數組元素索引號方法 indexOf(數組元素) 作用就是返回該數組元素的索引號
//它只發返回第一個滿足條件的索引號
//如果找不到元素,則返回-1
var arr = ['red','green','blue','pink','blue'];
console.log(arr.indexOf('blue')); // 2
console.log(arr.lastIndexOf('blue')); // 4
分析:把舊數組里面不重復的元素選取出來放到新數組中,重復的元素只保留一個,放到新數組中去重。
核心算法:我們遍歷舊數組,然后拿著舊數組元素去查詢新數組,如果該元素在新數組里面沒有出現過,我們就添加,否則不添加。
我們怎么知道該元素沒有存在? 利用 新數組.indexOf(數組元素) 如果返回是 -1 就說明 新數組里面沒有改元素
// 封裝一個去重的函數 unique 獨一無二的
function unique(arr) {
var newArr = [];
for (var i = 0; i < arr.length; i++) {
if (newArr.indexOf(arr[i]) === -1) {
newArr.push(arr[i]);
}
}
return newArr;
}
var demo = unique(['c', 'a', 'z', 'a', 'x', 'a', 'x', 'c', 'b']);
console.log(demo);
方法名 | 說明 | 返回值 |
toString() | 把數組轉換成字符串,逗號分隔每一項 | 返回一個字符串 |
join(‘分隔符’) | 方法用于把數組中的所有元素轉換為一個字符串 | 返回一個字符串 |
示例:
// 1.toString() 將我們的數組轉換為字符串
var arr = [1, 2, 3];
console.log(arr.toString()); // 1,2,3
// 2.join('分隔符')
var arr1 = ['green', 'blue', 'red'];
console.log(arr1.join()); // 不寫默認用逗號分割
console.log(arr1.join('-')); // green-blue-red
console.log(arr1.join('&')); // green&blue&red
方法名 | 說明 | 返回值 |
concat() | 連接兩個或多個數組 不影響原數組 | 返回一個新的數組 |
slice() | 數組截取slice(begin,end) | 返回被截取項目的新數組 |
splice() | 數組刪除splice(第幾個開始要刪除的個數) | 返回被刪除項目的新數組,這個會影響原數組 |
為了方便操作基本數據類型,JavaScript 還提供了三個特殊的引用類型:String、Number和 Boolean。
基本包裝類型就是把簡單數據類型包裝成為復雜數據類型,這樣基本數據類型就有了屬性和方法。
我們看看下面代碼有什么問題嗎?
var str = 'andy';
console.log(str.length);
按道理基本數據類型是沒有屬性和方法的,而對象才有屬性和方法,但上面代碼卻可以執行,這是因為 js 會把基本數據類型包裝為復雜數據類型,其執行過程如下 :
// 1.生成臨時變量,把簡單類型包裝為復雜數據類型
var temp = new String('andy');
// 2.賦值給我們聲明的字符變量
str = temp;
// 3.銷毀臨時變量
temp = null;
指的是里面的值不可變,雖然看上去可以改變內容,但其實是地址變了,內存中新開辟了一個內存空間。
var str = 'abc';
str = 'hello';
// 當重新給 str 賦值的時候,常量'abc'不會被修改,依然在內存中
// 重新給字符串賦值,會重新在內存中開辟空間,這個特點就是字符串的不可變
// 由于字符串的不可變,在大量拼接字符串的時候會有效率問題
var str = '';
for(var i = 0; i < 10000; i++){
str += i;
}
console.log(str);
// 這個結果需要花費大量時間來顯示,因為需要不斷的開辟新的空間
字符串所有的方法,都不會修改字符串本身(字符串是不可變的),操作完成會返回一個新的字符串
方法名 | 說明 |
indexOf(‘要查找的字符’,開始的位置) | 返回指定內容在元字符串中的位置,如果找不到就返回-1,開始的位置是index索引號 |
lastIndexOf() | 從后往前找,只找第一個匹配的 |
// 字符串對象 根據字符返回位置 str.indexOf('要查找的字符', [起始的位置])
var str = '改革春風吹滿地,春天來了';
console.log(str.indexOf('春')); //默認從0開始查找 ,結果為2
console.log(str.indexOf('春', 3)); // 從索引號是 3的位置開始往后查找,結果是8
查找字符串 “abcoefoxyozzopp” 中所有o出現的位置以及次數
var str = "oabcoefoxyozzopp";
var index = str.indexOf('o');
var num = 0;
// console.log(index);
while (index !== -1) {
console.log(index);
num++;
index = str.indexOf('o', index + 1);
}
console.log('o出現的次數是: ' + num);
方法名 | 說明 | 使用 |
charAt(index) | 返回指定位置的字符(index字符串的索引號) | str.charAt(0) |
charCodeAt(index) | 獲取指定位置處字符的ASCII碼(index索引號) | str.charCodeAt(0) |
str[index] | 獲取指定位置處字符 | HTML,IE8+支持和charAt()等效 |
判斷一個字符串 “abcoefoxyozzopp” 中出現次數最多的字符,并統計其次數
<script>
// 有一個對象 來判斷是否有該屬性 對象['屬性名']
var o = {
age: 18
}
if (o['sex']) {
console.log('里面有該屬性');
} else {
console.log('沒有該屬性');
}
// 判斷一個字符串 'abcoefoxyozzopp' 中出現次數最多的字符,并統計其次數。
// o.a = 1
// o.b = 1
// o.c = 1
// o.o = 4
// 核心算法:利用 charAt() 遍歷這個字符串
// 把每個字符都存儲給對象, 如果對象沒有該屬性,就為1,如果存在了就 +1
// 遍歷對象,得到最大值和該字符
var str = 'abcoefoxyozzopp';
var o = {};
for (var i = 0; i < str.length; i++) {
var chars = str.charAt(i); // chars 是 字符串的每一個字符
if (o[chars]) { // o[chars] 得到的是屬性值
o[chars]++;
} else {
o[chars] = 1;
}
}
console.log(o);
// 2. 遍歷對象
var max = 0;
var ch = '';
for (var k in o) {
// k 得到是 屬性名
// o[k] 得到的是屬性值
if (o[k] > max) {
max = o[k];
ch = k;
}
}
console.log(max);
console.log('最多的字符是' + ch);
</script>
方法名 | 說明 |
concat(str1,str2,str3…) | concat() 方法用于連接兩個或對各字符串。拼接字符串 |
substr(start,length) | 從 start 位置開始(索引號), length 取的個數。 |
slice(start,end) | 從 start 位置開始,截取到 end 位置 ,end 取不到 (兩個都是索引號) |
substring(start,end) | 從 start 位置開始,截取到 end 位置 ,end 取不到 (基本和 slice 相同,但是不接受負) |
示例:
<script>
// 1. concat('字符串1','字符串2'....)
var str = 'andy';
console.log(str.concat('red'));
// 2. substr('截取的起始位置', '截取幾個字符');
var str1 = '改革春風吹滿地';
console.log(str1.substr(2, 2)); // 第一個2 是索引號的2 第二個2 是取幾個字符
</script>
replace() 方法用于在字符串中用一些字符替換另一些字符
其使用格式:replace(被替換的字符,要替換為的字符串)
<script>
// 1. 替換字符 replace('被替換的字符', '替換為的字符') 它只會替換第一個字符
var str = 'andyandy';
console.log(str.replace('a', 'b'));
// 有一個字符串 'abcoefoxyozzopp' 要求把里面所有的 o 替換為 *
var str1 = 'abcoefoxyozzopp';
while (str1.indexOf('o') !== -1) {
str1 = str1.replace('o', '*');
}
console.log(str1);
</script>
split() 方法用于切分字符串,它可以將字符串切分為數組。在切分完畢之后,返回的是一個新數組。
例如下面代碼:
var str = 'a,b,c,d';
console.log(str.split(','));
// 返回的是一個數組 ['a', 'b', 'c', 'd']
<script>
// 2. 字符轉換為數組 split('分隔符') 前面我們學過 join 把數組轉換為字符串
var str2 = 'red, pink, blue';
console.log(str2.split(','));
var str3 = 'red&pink&blue';
console.log(str3.split('&'));
</script>
簡單類型又叫做基本數據類型或者值類型,復雜類型又叫做引用類型。
string ,number,boolean,undefined,null
通過 new 關鍵字創建的對象(系統對象、自定義對象),如 Object、Array、Date等
堆棧空間分配區別:
簡單數據類型存放到棧里面
2,堆(操作系統):存儲復雜類型(對象),一般由程序員分配釋放,若程序員不釋放,由垃圾回收機制回收。
復雜數據類型存放到堆里面
注意:JavaScript中沒有堆棧的概念,通過堆棧的方式,可以讓大家更容易理解代碼的一些執行方式,便于將來學習其他語言。
<script>
// 簡單數據類型 null 返回的是一個空的對象 object
var timer = null;
console.log(typeof timer);
// 如果有個變量我們以后打算存儲為對象,暫時沒想好放啥, 這個時候就給 null
// 1. 簡單數據類型 是存放在棧里面 里面直接開辟一個空間存放的是值
// 2. 復雜數據類型 首先在棧里面存放地址 十六進制表示 然后這個地址指向堆里面的數據
</script>
函數的形參也可以看做是一個變量,當我們把一個值類型變量作為參數傳給函數的形參時,其實是把變量在棧空間里的值復制了一份給形參,那么在方法內部對形參做任何修改,都不會影響到的外部變量。
<script>
// 簡單數據類型傳參
function fn(a) {
a++;
console.log(a);
}
var x = 10;
fn(x);
console.log(x);
</script>
函數的形參也可以看做是一個變量,當我們把引用類型變量傳給形參時,其實是把變量在棧空間里保存的堆地址復制給了形參,形參和實參其實保存的是同一個堆地址,所以操作的是同一個對象。
務管理信息服務平臺的建設目標是在智慧校園的建設框架下,通過現代信息技術整合教務數據、體現現代高校教學管理理念、改進教學管理手段、實現教務全生命周期的協同管理,在管理日常教學事務層面活動的同時兼顧教學價值層面的活動,實現學校教務工作從“事務型”方式向“戰略型”方式轉變。
職業技術學院教務管理信息服務平臺
一、平臺功能要求
該平臺需具備以下功能:學籍管理、課程庫管理、師資管理、教學場地管理、培養方案管理、執行計劃管理、開課管理、排課管理、選課管理、考務管理、成績管理、重修管理、免修與緩考、等級考試管理、畢業審核管理、教學質量評價與監控管理、輔修管理、實踐教學管理(含實習實訓、畢業論文、學生創新創業學分、實驗教學、職業技能證書管理等)、競賽管理、教材管理、個人教學門戶、系統管理。詳見采購詳細需求。
該平臺需實現以下數據對接要求:1、保證原教務系統的數據遷移至新平臺;2、實現平臺數據與學校數據中心、人事系統、學工系統、招生系統、財務系統、在線教學等信息化平臺的對接;3、實現與學校智慧校園門戶的對接;4、實現與學校統一身份認證平臺的對接。
二、平臺技術要求
該平臺需滿足以下技術要求:
1、本系統要求必須采用平臺化開發,使用界面直觀明了、簡單方便,操作簡便,用戶使用體驗好。能靈活地定義參數和處理規則,使其符合工作要求。具體包括:1)具有自主的開發平臺,實現多終端多瀏覽器訪問,實現電腦、PAD、各種尺寸手機自適應訪問,可以與移動APP、微信、QQ、企業微信、支付寶完美結合。2)用戶可以自定義個人界面的布局,自定義功能組件。軟件界面可自適應。3)業務流程可定制,利用工作流引擎致力于打造工作流的可視化功能,使工作流的管理和建模簡單、易用并且直觀。通過工作流管理模塊,我校可以管理已經存在的工作流,包括對工作流的增刪改查,以及對工作流進行統一部署。還可以進行工作流運行實例的控制。4)采用組件化開發,由低耦合的組件完成各項業務,通過組件管理器呈現給用戶。
2、平臺服務器端須支持windows、linux、unix等主流操作系統,支持oracle數據庫。
3、高并發性,要求在技術上引入緩存等機制,優化數據庫設計,提高排課、選課、成績查詢、統計等性能瓶頸。
4、要求具有嚴格的安全機制,包括真正的三層結構(數據層、應用層、WEB層)、嚴格的身份授權機制(綁定MAC地址、按角色、數據表、字段等授權)、敏感數據的監控預警(成績異常修改監控)等。
5、保證對常用的各種瀏覽器(如:IE9及以上版本,firefox,chrome、safari等)的完美兼容,解決電腦瀏覽器的兼容問題。
詳細采購需求見附件。
附件:
教務管理信息服務平臺項目詳細采購需求
我校教學管理的主要任務不但包括事務性管理(如課表編排、成績管理、考試安排等)還包括戰略性管理(如培養過程管理、教學質量檢查、教學工作評價、教學業績評價、教學改革管理等)。因此,本平臺定制開發的目標是通過現代信息技術整合教務數據、體現現代高校教學管理理念、改進教學管理手段、實現教務全生命周期的協同管理。平臺要求在管理日常教學事務層面活動的同時還要兼顧教學價值層面的活動,實現我校教務工作從“事務型”方式向“戰略型”方式轉變。平臺建成后,能使我校教學管理工作更科學、更規范、更有效地提升我校的教學水平、教學管理水平,并促使教學管理滿足學校的戰略發展需要。
具體須實現如下目標:
1.體現出先進的教學與教學管理理念。教學管理系統的宗旨在于使學校教學管理向高水平、規范化、標準化、便捷化邁進。通過教務平臺開發,平臺體系設計應將先進的教學管理思想和方法體系納入并具體體現,如注重教學管理中以人為本、全面發展、素質教育、創新能力培養、主體性、個性化、開放式、多樣化、生態和諧、系統性等。
2.靈活多樣的訪問與管理權限體系。必須具有靈活多樣的訪問與管理權限體系。總體來看,權限級別至少應該包括普通教師、二級學院管理人員、校區教學管理人員、教學督導、學校教學管理人員、學校領導層和學生等七個級別,各個級別之中,還要有不同的具體權限設置與分配機制。
3.統一的信息標準和規范、優化的業務流程。平臺的定制開發過程中,達到整合各有關系統的教務基礎數據、規范教務信息標準的目的,實現學校教務信息的高度統一和共享。
4.多元化的安全防范與預警功能。由于教務管理系統中存儲有很多敏感數據,要求平臺能夠防范非法操作和入侵攻擊,能記錄所有操作軌跡。一旦這些敏感數據發生了修改、更新操作,平臺可以自主地提示與通知相關人員,并保存日志記錄。
5.教學管理網絡化和智能化。整個教學管理流程中的各環節、各角色的操作運用,能最大限度地在平臺中完成,最大限度地減少紙質文本、減少人員實地辦理的繁瑣。
1、本系統要求必須采用平臺化開發,使用界面直觀明了、簡單方便,操作簡便,達到傻瓜式操作,用戶使用體驗好。能靈活地定義參數和處理規則,使其符合工作要求。具體包括:
★1)具有自主的開發平臺,采用前后端分離技術架構,基于HTML5+CSS3等技術實現多終端多瀏覽器訪問,實現電腦、PAD、各種尺寸手機自適應訪問,可以與移動APP、微信、QQ、企業微信、支付寶完美結合。
▲2)用戶界面基于Portal等技術設計,可以通過管理員對師生的默認用戶界面進行初始規劃,包括界面風格、菜單及頻道欄目面板布局、頁面標簽定義等。用戶可以自定義個人界面的布局,自定義功能組件。軟件界面可自適應。
★3)業務流程可定制,利用工作流引擎致力于打造工作流的可視化功能,使工作流的管理和建模簡單、易用并且直觀。通過工作流管理模塊,我校可以管理已經存在的工作流,包括對工作流的增刪改查,以及對工作流進行統一部署。還可以進行工作流運行實例的控制。
★4)采用組件化開發,由松耦合的組件完成各項業務,通過組件管理器呈現給用戶。組件化開發有利于簡化系統架構,并在系統升級、個性化服務等方面帶來好處。
★2、平臺服務器端須支持windows、linux、unix等主流操作系統,支持oracle數據庫。
★3、高并發性,要求在技術上引入緩存等機制,優化數據庫設計,提高排課、選課、成績查詢、統計等性能瓶頸。
★4、要求具有嚴格的安全機制,包括真正的三層結構(數據層、應用層、WEB層)、嚴格的身份授權機制(綁定MAC地址、按角色、數據表、字段等授權)、敏感數據的監控預警(成績異常修改監控)等。
▲5、保證對各種瀏覽器(如:IE9及以上版本,firefox,chrome、safari等)的完美兼容。解決電腦瀏覽器的兼容問題。
備注:以上標記為★的要求必須滿足,否則為無效投標。
學生學籍信息(包括學號、班級等)實現當年招生數據經招就處核實后由數字化校園數據中心直接同步至教務系統的學籍信息表。除基本的增刪改功能外,系統提供完備的多條件多口徑查詢和統計功能,并提供相關數據的excel導出和相關報表的打印功能,如一鍵生成國家標準的高基報表、學籍異動相關報表、在讀證明、學歷證明、結業換畢業證等。新生數據及新生報到注冊信息取自招辦迎新系統。老生的學生基本信息及老生的報到注冊信息取自學工系統。
學生數據可以按學期進行管理和維護,系統保留各個學期的狀態數據,滿足各類教學管理的數據需要。
對學生身份信息進行修改申請(如:學生姓名、身份證號、民族、聯系電話、家庭住址、電子郵箱等項),包括學生提交學籍信息維護修改申請、學生查詢學籍信息修改申請信息教務處審核情況。
教務處對學生申請的學籍信息進行審核(如:學生姓名、身份證號、民族、聯系電話、家庭住址等項)。
教務處可維護學生學籍信息,學院可查詢學籍信息等。
學院可查詢本學院的學生學籍信息。
學院可統計、輸出、打印、查詢本學院的學生學籍信息。
學院可查詢本學生的學籍信息、學生信息等。
系統管理員設置注冊條件,如同步財務系統的繳費信息,繳費信息變更實時更新,未繳費不允許注冊,綠色通道的數據來自學工系統;由學院用戶辦理報到注冊,并可調整能否注冊,統計學期報到情況,提供批量處理注冊功能。系統實現未注冊學生不能獲得相關服務(如禁止選課、禁止查詢成績等)。新生注冊數據取自招就系統。提供學生報到情況、學生注冊情況查詢統計和相關報表的輸出打印。
完成新生的入學報到與注冊,通常與學校的迎新系統實現對接。
對老生數據進行報到注冊處理,該數據可取自學工系統。
打印輸出報到、注冊的學生名單信息。
可統計分析、輸出、打印學生報到、注冊匯總情況。
可自動生成與學信網相一致的學籍、學年、學歷注冊數據。
學籍異動包括休學、復學、自動退學、晉級(留降級)、轉學(轉入、轉出)、取消學籍(勸退、開除等)、保留入學資格、保留學籍等,根據學校學籍異動的相關管理辦法要求,系統實現由教務管理人員設置異動條件,學生網上提交異動申請,經學院、學工處、教務處等相關部門審批。對最終審核確認異動的學生,提供批量處理功能,并同時更新學籍狀態、在校狀態,學生課表等相關數據。提供各類相關表格打印,提供多條件查詢統計,生成上報數據。
▲管理人員可以靈活設置學籍異動類別、默認學籍狀態、選擇該類別的流程、異動說明(學生申請時需要同意該說明才能申請)、時間控制、是否影響學籍(若影響,可以設置哪些字段會在最后環節審核后自動更新)。
教務處設置學生網上申請時間。
學生可以提交異動申請,并打印相關的表格。
相關部門根據審批流程完成審核工作,并可以打印相關表格。
在校在籍學生按照學校轉專業的具體要求在線申請。轉專業具體流程系統提供學校自定義審批流程。
1、轉專業計劃設置
2、轉專業申請
3、轉專業審核
系統提供大類專業招生分流功能,系統管理員設置控制條件,預分流階段學生網上申請,學院用戶審核。教務審核后確認分流,批量處理,更新相關數據。如管理崗位老師操作,允許批量處理,更新相關數據。提供相關數據查詢、導出和報表打印功能。對于大類招生,在同一大類下,學院可以進行分流,如果不在同一大類下必須走轉專業流程。
系統提供專業分方向功能,系統管理員設置控制條件,學生網上申請,學院用戶審核,教務審核后,批量處理,更新相關數據。管理流程系統允許靈活定義。數據操作允許管理崗位老師批量處理及更新相關數據。最后提供相關數據查詢、導出和報表打印功能。
根據不同年級、專業需要,按照學校《學業預警管理辦法》設置相應的預警條件,根據不同年級、專業需要,按照學校《學業預警管理辦法》設置相應的預警條件,從而對學生學籍發出相關警示,滿足預警標準自定義功能。
可根據學生在校內(外)交流學習或獲得的獎勵情況及競賽情況,對學生進行學分認定;也可走學生申請,學院審核,教務處審核等流程。
根據學生的獎勵情況、競賽情況,完成對學生學分的認定
維護學生獲得的校內(外)獎勵信息;維護學生的處分信息;可從學工系統獲取學生的獎懲信息。
根據畢業審核結果完成對學生畢業證書的發放打印;
課程庫是學校教學資源很重要的一部分,是整個系統平臺的基礎資源之一,為培養方案、執行計劃等提供資源。
教務處崗位老師直接維護課程庫或導入系統外已有的課程信息。
課程指定上課老師,如課程中有上課教師維護著,則落實該課程時只從有課程指定的教師中選擇,如果沒有維護,則落實任務時則從教師信息表中都可以選擇課程的上課教師。教師信息(包含外聘教師)取自人事系統或數據中心。
教師數據可以按學期進行管理和維護,系統保留各個學期的狀態數據,滿足各類教學管理的數據需要。
工作量管理針對教師教學質量、教師教學考核、學校領導針對教師的工作狀態及飽和程度提供相關數據依據。
▲教學工作量主要包括:課程分類維護、工作量系數維護(如:教師相關的職稱系數、級別系數等;課程相關的人數系數、重復系數、難度系數、教學模式系數、主輔講系數維護等。)、工作量公式維護、工作量統計等。
教學場地管理主要包括教學場地基本信息維護、教室借用申請、教室查詢。
能按場地所屬校區、學院、場地類別、場地可用狀態組合查詢場地信息,設置教室的使用部門;增加、修改、刪除場地基本信息(包括教學樓間距);導入教學場地信息;打印、輸出場地信息。
▲場地學期狀態數據管理
場地數據可以按學期進行管理和維護,系統保留各個學期的狀態數據,滿足各類教學管理的數據需要。
教務處維護教學場地借用控制設置,如:控制借用場地、借用時間范圍等。
學院(或全校師生)網上借用教學場地。
學院審核場地借用申請單;教務處審核場地借用申請單。
分樓棟查詢和推送教學場地借用單。
學院、物業管理人員提出教學場地變更申請,教務處審批。
專業培養方案是學校根據社會和學科要求制定(如學校有大類招生需要用到大類),一般發展N年制定一次,功能有培養方案制定、培養方案復制粘貼、培養方案制定提交、培養方案審核、培養方案歸檔、培養方案輸出等功能。
專業帶頭人根據社會和學科的發展N年指定一次,主要制定各個專業的課程信息、所需修讀學分信息、培養專業方向、培養要求、培養目標、最低畢業學分要求、核心課程、教學特色課程及說明等。可錄入英文版。
專業帶頭人變更培養方案,確定無誤后提交給學院審核,學院審核通過后教務處審核
學院審核專業帶頭人制定的培養方案,審核通過后提交給教務處審核;如果學院審核不通過,則將流程返回給專業帶頭人修訂。
可以根據年級、學院、專業打印或導出培養方案。
▲學生個人培養方案是學生根據學校專業培養方案的基礎上,結合自己個人發展情況制定自己的個人培養方案,功能有個人培養方案制定、培養方案制定提交、培養方案審核、培養方案歸檔、培養方案輸出等功能。
教學執行計劃是學校根據社會和學科要求制定(如學校有大類招生需要用到大類),一個年級專業指定一個,功能有執行計劃從培養方案繼承、執行計劃制定、執行計劃復制粘貼、執行計劃制定提交、執行計劃審核、執行計劃歸檔、執行計劃輸出等功能。
專業帶頭人根據專業人才培養方案及學科要求制定年級專業的課程信息、所需修讀學分信息、培養專業方向、培養要求、培養目標、最低畢業學分要求。其中培養要求、該專業或大類的學科專業類別、所依托主干學科、培養目標、培養要求、核心課程、教學特色課程及說明維護時可以有中英文對照。
專業帶頭人變更執行計劃,確定無誤后提交給學院審核,學院審核通過后教務處審核
根據年級專業執行計劃,各開課學院落實執行計劃需開設課程的上課教師、教學班人數、排課要求等信息。在任務落實完成后,可根據工作量計算規則,及任務落實的學生和人數,計算每個學院的的預計工作量。
學院(開課學院)為課程指定主講教師(一個班允許多個主講教師)、上課時間、上課場地類別要求、上課校區、選用教材等。
學院(開課學院)或教務處為計劃外課程(即通識課等)指定主講教師(一個班允許多個主講教師)、上課時間、上課場地類別要求、上課校區、選用教材等。
▲對于分級教學的課程,可以通過板塊課管理,板塊課最主要的作用是占上課時間,保障學生都有時間去上板塊課程。
板塊課管理主要有板塊類型、板塊類型課組、板塊類型等級、板塊類型等級課組、板塊信息維護、板塊專業班級維護、板塊任務落實、板塊類型等級分數維護、學生板塊類型等級。
根據學校開課情況(教學任務),結合學校的教學場地資源、排課要求設置后進行自動排課,學院、教務處可根據實際需要對系統自動排課的結果進行必要的修改,修改界面友好,操作簡單;系統既支持學年學分制排課要求,也支持完全學分制下排課的要求,能處理按學科大類招生對排課的要求,能處理分級教學、課內實驗(包括純實驗課程和既有理論課又有實驗課的課程)、實驗分組;支持二級排課、分批排課、不規則排課等排課方式;課表查詢、打印權限可以分用戶角色控制,可以在教務處指定的日期內導出或打印課表,避免在課表沒有完全排完的時候導出和打印。
可靈活設置周一還是周日為一周內的第一天。可靈活設置對應日期節假日、校運動會等相關日程。為排課及教學提供教學周與具體日期的對應關系;為系統提供具體校歷日程信息等。
根據禁排類別,可以進行如下的設定:
教師:針對特殊老師有具體要求不上課或上課的時間,可設置禁止排課的周次星期節次(注:設置后剩下來的相應時間就是對應限定排課時間)。
課程:針對某些課程不能安排在晚上上課,可某一課程設置晚上禁排。
教室:針對一些教室周末不可排課,可設置某一教室周六或周日禁排。
時座位數上限;
根據排課優先級組合,按照最優化路徑,實現學生和教師相對集中在同一棟樓上課。
類型 | 優先級 | 優先級內容 |
教室 | 1 | 固定班級教室優先(使用班級) |
教室 | 2 | 同教學班最好同教室 |
教室 | 3 | 同課表同星期同時段中同教室,次同樓層,再次同樓棟,最次其它; |
時間 | 1 | 同一門課程盡量已經安排的時間優先 |
時間 | 2 | 白天的優先于晚上 |
時間 | 3 | 非周末的優先于周末 |
時間 | 4 | 同課程教學班同上課場地等導致時間的優先 |
在排課前可以落實初步的主講教師,開學前主講教師可以安排教學進度,進行換教師等操作,調整結果可以同步更新到課表中。
在普通課安排之前如果有分級教學或者年級專業有統一上課時,先安排這部分課的時間和地點,安排普通的時間和地點為除此之外的時間和地點,此環節為選做環節,具體根據學校實際情況而定。
可以根據總學時排時間、地點;可以根據周學時排時間、地點;
根據學期教學任務落實情況和排課約束條件,人機交互安排時間和地點。
▲各種課表查詢、打印、輸出,可以連續輸出打印課程課表,教師課表,教室課表,班級課表,學生課表,全校課表(按課程/按教師/按教室/按班級)等課表;連續輸出時,需要輸出在一個EXCEL工作簿里,并且對每張課表需要分頁;連續輸出時,可以按照每張課表輸出到每個EXCEL文件里;按照時間段、教室類型、開課部門、校區等信息查詢全校上課情況。常用課表提供按周查詢。
排課結束正式上課后,因某些原因教師需要調整上課時間、停課、補課,則可以進行調停補課申請報開課學院審核,開課學院審核通過了再教務處審核,教務處審核后如同意的則將審核結果返回給申請人的同時發布信息給學生。
提供排課結果統計分析的功能,實現科學分析排課質量(包括課表編排均衡性、教學場地使用率、排課要求滿足情況),同時,方便對課表的調整和完善。
選課管理是指學生根據學校制訂的學分制管理手冊,并結合專業培養方案的學習要求完成相應的學分學習,并逐步體現學生在選課過程中自主選擇性和結合自己興趣愛好有一個傾向性。其中主要涉及到三大類的選課管理:有年級專業要求的選課(教學計劃課程選課);無年級專業要求選課(校公選課、院系選修課等);、特殊課程類選課等。主要模式有:1:篩選制選課;2:優先制選課(先到先得的原則)。主要功能有:選課條件及要求設置、學業預警及選課指導、學生選課、選課過程監控及統計分析、學生課表查詢、選課情況查詢等。
在每學期安排學期教學任務前,需要根據年級專業教學計劃生成每學期的開課計劃,并可以通過選修課程預選、課程上課教師預選來判斷學生的上課意愿、老師的選課意愿,并依此來影響學期開課計劃和落實教學任務。
選課模塊負責人根據學校具體選課管理辦法規定的要求,設置開放選課類型及時間、參與選課對象、學生選課學分限制等條件設置。
根據學生培養計劃和已選的課程學習情況,并結合學校規定學業預警條件等,對有學業預警的學生進行學業警告及選課做出相應的指導性意見及建議;對沒有學業預警的學生給予合理的選課指導意見。讓學生選課有一個針對性的選擇。使學生有目的有計劃的順利完成學業及選課。
▲對于不參與選課的教學班,在學生選課前,教務處可以統一給與配課。
在選課過程中實時監控出每門課程的選課情況及每個學生選課情況。
教師可以生成并發布當前教學班的考勤二維碼,二維碼的信息由課程、時間、地點等組成。發布的二維碼可以設置有效時間(如:10秒,則10秒后系統自動刷新生成新的二維碼)。
根據任課教師根據教學班所生成的二維碼,學生通過手機APP使用簽到功能掃描教學班二維碼,系統自動判斷是否該教學班的學生,并登記學生的簽到時間信息。
管理人員可以查詢、統計學生的課堂點名信息。
考務管理實現對學校統考考試和非統考考試的統一管理,根據考生、課程、教室、監考等做出考試安排,系統自動排考。并提供排考效果分析功能,對檢測沖突的考試手工調整。網上發布有關考試安排信息,學生可查詢,打印。學期末教務處安排各門課程的考試時間、地點、監考老師。
維護考場座位數、使用部門、優先級、是否可用
教務處(面向全校)、學院(僅對本開課學院)確定每個考試教學班的試卷編號。
教務處(面向全校)、學院(僅對本開課學院)根據自動排考相關設置自動排考試時間、地點、安排監考教師。
教務處(面向全校)、學院(僅對本開課學院)根據試卷編號排考試時間、地點、安排監考教師。
直觀的安排考試時間和考場,考試時間安排,可以在同一頁面刷選考試名稱、年級,顯示所有的考試場次,可安排考試任務和已安排考試任務,選擇可安排考試任務時,可以以不同顏色演示可排場次,沖突場次等;
教務處發布補考確認通知,學生網上確定補考、畢業補考的學生名單,排補考、畢業補考的時間地點、監考教師。
包括成績管理模塊的系統參數設置、成績基礎信息維護、成績過程信息維護、課程過程管理、成績錄入設置、成績錄入、成績修改、成績補錄、成績查詢、學業預警監控、成績信息管理、成績學分認定、成績加分管理、成績作廢管理、成績統計分析。
統一設置成績管理模塊相關的控制參數,如:成績錄入學年、成績錄入學期、補考成績錄入學年、補考成績錄入學期、階段性成績保留位數、總評成績保留位數、學生成績查詢控制。
成績級制代碼、成績備注代碼、成績對照信息、績點信息、無績點成績課程、學院最低期末成績(如成績低于一定分數則不按成績分項比例折算,直接記錄期末成績)等設置。
維護具體分項及各分項有哪些階段組成,包括階段比例模板維護、成績分項比例維護、教學班成績分項設置。
可以設置哪些課程需要過程管理,對于需要過程管理的課程,則允許任課教師網上自定義成績組成分項及對應成績分項階段,教師網上自定義后課程負責人進行審核,對于審核通過的,則成績錄入時按此成績分項及對應的階段錄入成績。
包括正考成績錄入設置、補考成績錄入設置、緩考成績錄入設置,每項都允許設置成績錄入狀態、成績錄入人(默認任課教師,也可以指定其他教師代為錄入)、成績錄入時間。
錄入教師在規定時間內錄入與自己相關的學生成績,同時教務處和學院可以在管理端錄入相關的成績。錄入成績提交后,錄入教師提交成績單和成績分析單到教務處,開課學院、教務處確認成績無誤后發布成績。學生和班主任可以在網上查詢成績,打印成績單。
1、成績錄入(前臺)
2、成績錄入(管理端)
3、成績確認發布
教師在網上提交成績修改的申請,學院、教務處以及教務處處長審核通過后變更學生的成績。
為了能更好的錄入補考成績,補考成績錄入一般分以下幾種:分配教師、任課教師、學院秘書、教務處錄入;在確定成績錄入人后,錄入人在成績錄入時間內錄入補考成績,成績提交發布后,開課學院和教務處兩級確認后,成績發布,學生可以網上查詢相關成績。
生成正考補考學生名單,可以調整相關名單。
學生網上確認需要參加的補考課程。
設置補考課程的成績的錄入教師。
錄入教師在規定時間內,錄入補考成績,成績單打印分按照課程打印、按照班級打印、按照教學班打印。
確認成績錄入無誤后發布成績,允許學生網上查詢成績。
對于特殊學生(民族生、特長生、獲獎學生等)進行加分規則設置,教務處直接根據這類學生進行加分處理,成績直接加分到學生的成績表中。
提供成績作廢申請和審核功能。
教務處直接開重修教學班,讓重修學生去選擇相應重修教學班重修;
1、重修選課對象設置
2、開設重修任務
教務處設置重修報名時間,學生重修報名,待重新報名結束后生成重修課程待落實任務。
3、重修教學班上課安排
4、重修選課
5、重修選課調整
6、重修繳費確認
教務處整理出當前選課學年學期能重修的課程名單,讓學生去選重修課程,根據學生選擇重修課程的情況開重修班重修。
學生可重修課程
方式(一)
方式(二)
根據學校管理規定,學校申請課程免修,學院、教務處根據學生申請的情況進行審核處理。學生提交申請,學生學院教學秘書審核,開課學院教學秘書審核、教務處審核,學生可以打印申請單,并在學生學院蓋章;開課學院教學秘書可以查詢免修情況。
學生提交申請,學生學院教學秘書審核,開課學院教學秘書審核審核、教務處審核,學生可以打印申請單,并在學生學院蓋章;學生每次只能提交當前學期的課程,必須是在考試時間之前提交不能在考試時間之后提交申請;教學秘書也可以申請緩考;開課學院教學秘書可以查詢緩考情況。
設置學校組織的所有考級項目、各等級項目考試報名起止時間,維護等級考試報名課程、報名學生限制條件等。
學院秘書根據每個專業各自的審核要求設置審核條件,條件設置完成后,根據審核條件進行審核,審核分學院審核和教務處審核兩步。審核結果得出后,根據結果賦予畢業結論;教務處確認后,發布相關的審核結果和結論。學生可以查詢相關的審核結果以及結論。
畢業生信息既是畢業審核的基礎信息,也是畢業生數據上報的基礎信息。畢業生信息既可以按照正常的畢業年份生成可以參加畢業審核的畢業生信息,也可以由學生自主申請畢業的年級專業。
▲設置課程相互替換關系;校內課程一替多、多替多、多替一等替換方案。
學生網上提出延長學制申請,學院和教務處兩級審核,審核通過的學生可以不參與畢業審核。
教學質量評價管理由學生評教師、督導評價、學院評價、領導評價、同行評價、教師自評、問卷調查等組成。實現了360度教學質量評價管理與控制。
▲要求可按學校、學院、教師三級定義評價指標供學生教學質量評價。
靈活設置參評對象,如學生、教師、督導、領導、學院等。其中參評對象又有對應的人員庫,如督導由哪些人員組成、領導有哪些人員組成等。
維護指標等級、指標庫維護、開課部門指標維護、不同學年學期不同維度的評價模板設置。指標庫主要服務于不同維度評價,部分指標由教師或開課部門自行設置一定占比的指標體系。如某大學學生評教師允許開課部門和教師自選指標,指標體系共20項,10項由教學質量管理部門強制規定占60%權重,6項由開課部門設置且占一定的權重30%,另外4項由任課教師自己結合所上課程的特點在指標庫中選定其中四項占10%。
對參評課程進行分類便于評價統計結果排名比較;不同課程選定不同的評價模板,便于評價體系更具有針對性;參評學生限制(控制有些對教師有意見,防止惡意評價);評價教學班設置,控制哪些班級需要評價,哪些班級不需要評價;評價指標選定設置,允許控制到同一課程不同學時類型選用不同的評價模板;學生評價限制;開課部門評價設置、開課部門評價審核是對于允許開課部門自選指標的才有用。
各角色用戶根據評價放開的情況,按指標進行客觀評價。具體功能有學生評教師、督導聽課評價、領導評價、學院評價、同行評價、教師自評等。
維護需要調查的標題及對應的調查指標供對應的調查對象進行問卷調查。
根據統計條件進行各維度的評價統計。系統允許去掉上下一定比例的評價數據,如去掉最好的5%和最低的5%評價數據后再進行統計。
監控各參評對象該評未評、部分評、全評的信息查詢統計。
查詢各維度評價信息。
完成對校內學生,以及非校內學生的輔修管理。
? 學院根據本學院的專業情況,申請需開設的輔修專業
教務處根據學院申請的輔修的專業信息進行審核
完成對輔修、二專業信息的報名以及審核功能。
? 根據學生輔修、二專業信息生成繳費項目清單,教務處根據財務處繳費成功信息,進行學籍注冊。
? 學院根據專業培養計劃,以及學生名單,進行任務落實、上課安排;教師根據任務進行錄入成績;打印學生輔修成績;學生查詢成績。
? 畢業資格審核條件設置和審核。
? 可以根據學校要求完成對輔修信息的統計、查詢、分析,并進行導出、打印等功能;如各輔修專業個數統計,各輔修專業人數統計,各輔修專業繳費情況統計等。
1、實習基地管理
2、實習安排
注:存在一些學生是自主找實習基地,可由學生學院進行錄入到系統;
3、實習過程管理
4、實習報告上傳
5、實習報告審核
6、實習報告歸檔
7、實習成績錄入
根據實習安排錄入成績,以及實習成績分項的權重值設置,分項成績錄入,并根據權重值進行成績合成。
完成對畢業論文(設計)的管理;
1、選題
確定論文題目、學生
注:學生選題、教師確定學生這個環節存在多輪的情況,多輪結后束最終確定學生名單;
2、開題
教師開題并確認學生的開題報告;
3、中期檢查
4、論文審核
5、答辯安排
6、成績計算
7、優秀畢業論文管理
為創新人才培養模式,提高人才培養質量,構建一體多元的課堂教學體系,加強學生創新創業能力和綜合素質能力的培養,增強學生的學業能力、事業能力和人生能力,學校為提高在校學生能力水平,以教學要求方式,制定相關管理辦法,要求學生參加一些校內外實踐活動,給予學生修讀學分的獎勵。主要功能包括:項目類別信息設置、項目分值信息維護、項目分值報名、項目分值審核、項目學生名單管理、項目分值確認、項目分值情況查詢、項目獲得分值查詢等功能。
1、項目類別信息設置
通過項目類別信息設置,控制創新創業學分申請時間及相關要求信息(如:創新創業要求最高學分、創新創業申報說明描述等信息)
2、項目分值類別替換
創新創業分類一般分為創新創業、素質拓展等不同類別,對應不同類別獲得學分多出的部分可設置那一類別替換另一類別的要求學分。
3、項目類型信息維護
針對創新創業不同分類進行多級分類維護(如:【類別】創新創業-【分類】學科競賽-【類型】XX地區軟件設計大賽 三級維護)
4、項目分值信息維護
通過項目類型維護的基礎數據。給獲獎結果指定獲獎級別及等級(如:國家級、一等獎),也支持指定獲獎內容(如:社會實踐活動,獲得全國社會實踐先進個人);給獲獎結果指定獲得分值(即學分情況)的相關信息維護。
5、項目分值報名
學生通過項目分值維護信息,在對應創新創業類別開放申請獲獎結果的時間范圍內,支持以小組為單位申請,也支持以個人申請參加相關創新創業、素質拓展的實踐活動;同時要求上傳獲獎證明及材料為相關管理者審核提供依據。
6、項目學生名單管理
由相關管理人員對學生參加創新創業類別的實踐活動,獲得獎項進行維護。
7、項目分值審核
學生申請獲得創新創業類別的實踐活動獎項,由相關管理人員進行審核,針對符合申報要求的學生審核通過,反之審核不通過。
8、項目分值確認
學生針對獲得創新創業類別的實踐活動獎項情況及分值(學分)進行確認,確認后可對分值要求做有效互認。
9、項目獲得分值查詢
學校針對學生進行創新創業不同類別要求進行匯總查詢,針對已達到要求或為達到要求的情況反饋給學生;未達到要求的學生再進行其他創新創業相關類別的實踐活動,直至達到學校要求的分值成績。
主要功能包括:職業技能證書信息設置、技能證書成果信息采集、證書信息查詢統計打印等功能。
1、技能證書信息設置
職業技能證書信息設置包括證書名稱、類型、等級、發證機構、鑒定地點、面向專業、技能考證人員信息維護等。
2、學生認證培訓管理
學生認證培訓申請、管理崗位審核。
3、技能證書成果信息采集
可批量導入技能證書成果信息,包括獲得證書的學生信息、證書等級、考證時間等。
4、證書信息查詢統計打印
完成對技能競賽項目基本信息的維護、競賽信息發布、學生報名、報名名單調整、競賽成績錄入、成果證書采集、查詢統計分析、競賽成績證明打印等管理。
教務處、各二級學院實現競賽項目基本信息的維護,包括項目名稱、級別、面向對象、報名限制、指導教師要求等。
可發布競賽信息。發布后,向符合面向對象的學生推送報名通知。
學生可自主打印競賽成績證明。
完成對每個學期教學任務教材的安排、學生預定、教材征訂、教材發放等管理。
教務處、供應商實現教材基本信息的維護(供應商根據教材征訂目錄表導入到教材基本信息表)。
學生選課時選擇相應的教材。
根據教學任務和學生選課的數據來自動生成教材計劃,并可以進行調整,如教師用書等
根據教材計劃,進行教材的征訂。
可以按照學生所在學院指定教材的供應商。
進行教材的入庫管理。
可以按學生發放、學生零售、教師領用等進行教材出庫,教材的出庫記載到個人。
對于特殊情況下的教材回收、報廢進行管理。
可以查詢統計教材管理的各類報表。可根據班級學生信息(必修課)和學生選課信息(選修課),導出教材使用的學生信息,包括:學號、姓名、班級、專業、年級、層次、學制等信息。
具備學生角色、教師角色所需相關功能。
賬號密碼管理,實現與校門戶系統對接。
教務公告、報名通知等,通知公告部分將設置有效日期,像有些報名通知,只需在一段時間內有效,過了有效期,將不再顯示;還需要設置面向對象,通知是面向學生、教師、教務員,還是全部。
按年級、學院、專業查詢任意專業的專業介紹。按年級、學院、專業、課程類別查詢任意專業的培養計劃。
網上選課可以按照課程、選課類別、專業、學院設立選課時間,面向對象等,支持多輪選課。
1) 成績查詢
可查詢學生學期成績、學年成績、在校學習成績信息,以及實時提醒畢業最低學分要求,本學期最低學分要求。
2) 成績單打印
學生可自行打印在校學習中英文成績單,成績單上需設計學校logo圖標。
3) 等級考試查詢
查詢等級考試成績。
4) 考試查詢
提供給學生查詢個人每學期選課課程的考試時間、地點等信息。
5) 學籍查詢,并能在線打印在讀證明,帶學校logo。
1) 培養計劃查詢
2) 全校開課情況查詢
3) 推薦課表
4) 教師課表
5) 個人課表
6) 教室查詢
7) 學期選課情況
8) 畢業資格自審(根據培養計劃,審核各類課程情況)
9) 學籍查詢、異動查詢
10) 選課時,可以查看課程簡介、教師簡介、教學大綱、教學日歷等;
11) 繳費情況查詢(與數字化校園連通),如:等級考試報名等;
1) 轉專業申請,需設置申報條件、時間段。
2) 輔修報名申請,需設置申報條件、時間段。
3) 補修免修申請,需設置時間段。
4) 休學、復學、退學、轉學申請,需學院、教務處審批。
5) 緩考申請,需學院和教務處審批。
6) 網上報名,主要是等級考試報名,可分類別進行條件設置,不同層次的學生選擇報名的類別不一樣。
學生根據所修課程,在網上按評價指標體系進行評價。
1) 賬號密碼管理,實現與校門戶系統對接。
2) 公告信息:登入后,可在首頁看到相關的各類教務公告信息。
1) 個人簡歷維護。
2) 教學日歷維護。
1) 臨時調、停(補)課申請
2) 校公選課開課申請
3) 教學場地借用申請
4) 成績變更申請
1) 教學任務查詢
2) 學生個人課表查詢
3) 教師個人課表查詢
4) 選課情況查詢
5) 教室查詢
6) 考試安排查詢
7) 培養計劃查詢
8) 教學質量評價查詢
9) 教學工作量查詢
1) 成績錄入
2) 成績分析
1) 同行評教
2) 教師自評
3) 學生評價
4) 教學督導評價
系統管理是整個系統的支撐,包括權限管理、系統參數設置、系統日志管理、系統數據備份管理、歷史數據管理、基礎信息管理等功能。
系統具有多級的靈活角色定義及授權功能。實現依據學校各院部、各教學管理單位按照崗位職責進行角色定義及角色的級別(校級、院級),并依據崗位職責進行權限的分配,權限不僅控制功能組件,還控制到功能的操作按鈕,保證用戶在系統中的一切操作在授權范圍內進行,當用戶發生崗位調整或者崗位職責發生變化時系統可以靈活調整。
▲數據范圍可控制到校區、院系、專業、班級、學生。
通過設置各項控制參數,構建一個管理控制平臺,保障系統正常運行。
▲系統對用戶的所有對數據庫的讀寫操作都予以記錄,系統管理員可查看到所有登錄系統的用戶的操作,包括登錄時的IP地址、用戶名、密碼,操作內容描述,日期,時間等,以便對歷史數據的修改痕跡查詢提供線索,對惡意修改數據的用戶進行跟蹤,也為學校提供一些信息的分析統計。
備份是保障數據安全性重要手段,用戶要非常重視數據的備份。不僅系統要提供多種備份方法,而且用戶要制定嚴密的備份計劃,以使工作的過程數據都能自動備份,在數據庫服務器出現異常時,能順利恢復到具體時點備份的數據。
▲對歷史數據要有按年級轉入歷史庫功能,對轉入歷史庫的重要數據具有查詢和輸出功能。具體數據的轉入轉出靈活設置按年級專業、按年級等不同條件操作。
維護和管理學校行政結構信息、專業信息/班級信息、學年學期信息、校歷、教學場所等核心基礎信息。
為教務系統提供自定義報表設計打印的功能,以增加系統可擴展性和靈活性。
可自定義通知公告的類別,可建立多個發送通過公告的群組,可指定每個通知公告的接收對象。
▲基于工作流引擎,實現管理流程的動態配置,提高系統的可擴展性。通過工作流管理模塊,用戶可以管理已經存在的工作流,包括對工作流的增刪改查,以及對工作流進行統一部署。用戶還可以進行工作流運行實例的控制。
系統需要實現SSL傳輸協議,可以實現鏈路層的加密傳輸。
系統需提供基于角色的授權體系,能將用戶的權限限制到具體功能,能準確授予用戶職權范圍。
系統需提供數據自動異地備份的機制(如每天備份),提供詳細備份策略資料以及恢復的詳細方法,確保數據安全 。
系統無中高級安全風險漏洞,需要有支撐材料。
后期需免費配合學校進行信息系統等級保護2級、3級認定,認定過程若本軟件出現不符合等保2級、3級要求的,需免費進行整改,直至等保認定合格。
*請認真填寫需求信息,我們會在24小時內與您取得聯系。