CSS PhD program admission

Entrance subjects:

  1. Software Engineering
  2. Machine Learning
  3. Proposal Defense

Software Engineering (25p)

Book: “SOFTWARE ENGINEERING”, Ian Sommerville, 2011, 9th edition


  1. Introduction to Software Engineering
  2. Software processes
  3. Plan-driven development
  4. Agile software development
  5. Extreme programming
  6. Requirements engineering
  7. System modeling
  8. Architectural design
  9. Design and implementation
  10. Object-oriented design using the UML
  11. Software testing
  12. User testing
  13. Software evolution
  14. Dependability and security
  15. Software reuse


Machine Learning (25p)


  • “Pattern Classification” by Richard O. Duda, David G. Stork, Peter E. Hart, Second edition
  • “Python Machine Learning” by Sebastian Raschka, 2015
  • Lecture notes by Andrew Ng: http://cs229.stanford.edu/syllabus.html



1.         Types of learning: supervised, unsupervised, reinforcement
2.         The design cycle of machine learning project
3.         Regression: linear regression
4.         Classification: logistic regression, k-nearest
5.         Kernel methods: SVM
6.         Nonmetric methods: decision trees
7.         Ensemble models: bagging, boosting
8.         Preprocessing: data preprocessing, feature selection, etc.
9.         Bias and variance: bias/variance tradeoff, learning curves
10.       Evaluating machine learning algorithms: k-fold cross validation, performance metrics, etc.
11.       Optimization: convex optimization, greed search
12.       Neural networks: architecture, backpropagation algorithm
13.       Clustering: k-means
14.       Dimensionality reduction: PCA, Neural network autoencoders
15.       Deep neural networks

Proposal Defense (50p)


Applicants should prepare and submit a proposal defense (use “Sample Initial PhD Research Proposal” in attachment) and make a presentation with 8-12 slides.


Icon Initial-PhD-Proposal (181.4 KB)