private void theFirstStep() throws IOException {
 		clearMaps();
		int overall = 0;
		int count = 0;
		if(null != trainingFiles) {
			BufferedReader br = null;
			
			for(File file:trainingFiles) {
				br = new BufferedReader(new FileReader(file));
				String fileName = file.getName();
				String line = null;
				int PmCount = 0;
				int PmScore = 0;
				while(null != (line = br.readLine())) {
					String[] strs = line.split(",");
					int score = Integer.valueOf(strs[1]);
					overall += score;
					PmScore += score;
					count++;
					PmCount++;
				}
				br.close();
				movieCount.put(fileName, PmCount);
				movieScore.put(fileName, PmScore); 
			}
			
			if(count != 0) {
				overallMean = ((double)overall)/count;
			}
			
			Set<String> movieKeySet = movieCount.keySet();
			Iterator<String> movieIter = movieKeySet.iterator();
			while(movieIter.hasNext()) {
				String key = movieIter.next();
				int PmCount = movieCount.get(key);
				int PmScore = movieScore.get(key);
				movieParam.put(key, (((double)PmScore) - PmCount * overallMean) / (PmCount + Constant.MovieAlpha));
			}
		}
	}