Personal tools
You are here: Home Courses CS350 Intro to SE, Fall 16

CS350 Intro. to SE Fall 16

Announcement

  • No class on Sep 7 (Wed) due to LG SDET evaluation. 
  • We will have a make-up class on Sep 5 (Mon) 9:00-10:15 pm at the same classroom.
  • Quiz on Oct 10 
  • Mid-term exam on Oct 24 (Mon) 4:00 PM-6:00 PM
  • From HW#3, send your softcopy to Mingyu Jin (진민규) mgjin@se.kaist.ac.kr
  • No class on Nov 23 due to interview for undergraduate candidate students

Administrative Information   

Office: 2434 (located at the east wing)

Phone:042-350-3543

E-mail: moonzoo at cs.kaist.ac.kr

Office hour: Mon/Wed 2:30 - 4:00 PM 

(reservation e-mail will be preferred)

  • Teaching assistants

Sanggyu Nam (남상규)  sanggyu.nam@kaist.ac.kr x7747

Mingyu Jin (진민규)    mgjin@se.kaist.ac.kr x3539

  • Lecture hours: MW 4:00 - 5:15 PM
  • Lecture room: N1 Rm#422
  • Prerequisite:  Experience in C/C++ and Java.
  • Grading: attendance/class participation/quiz: 20%, HW : 30%, midterm exam: 25%, final exam:25%
    • Late HW will be accepted with 10% penalty of the max score in 1 day, 30% penalty of the max score in 3 days. HW will not be accepted after the 3 days.
    • HW should be submitted both in hardcopy and softcopy (through email to TA). 10% penalty of the max score for missing hardcopy or softcopy unless explicitly written in HW. 
      • Hint: many questions of exams are from the homework.
      • Please, include "[CS350]" in a subject in every HW and course related e-mail.
    • More than 7 absences of class will get F grade
      • To start class on time, late attendance shall be considered as 1/3 absence. 
      • No exception to the absence and late attendance of the class.
    • The official language in the class is English. All students should submit technical materials including homework, projects, exam, quiz in English; 20% penalty otherwise
    • All homework/project should be written using word processor. Also please write your exam/quiz in readable separate characters, not hand-writing cursive style; 20% penalty otherwise
  • Questions and answers can be made through KLMS
  • Course Syllabus

This class focuses on the fundamental/scientific characteristics of software engineering. In addition, you are expected to learn effective technical communication skills through various methods including UML diagram, formal specification, well-structured program codes, etc.

Course Material

- "Logic in Computer Science" by M.Huth and M.Ryan, Cambridge university press, 2nd edition

    - “ Applying UML and Patterns 3rd ed” by C.Larman. Prentice Hall

    - “ Code Complete 2nd ed” by S.McConnell. Microsoft press.

    - The Mythical Man-Month by F.P.Brooks, JR. (wikipedia)

    - "Introduction to Software Testing" by P.Ammann and J.Offutt.  Cambridge press 2008

    - "역사속의 소프트웨어 오류" by 김종하 에이콘 2014

    - "The CERT Oracle Secure Coding Standard for Java", F.Long, etc, Addison Wesley, 2012

    - "Secure Coding in C and C++" 2nd ed, R.C.Seacord, Addison Wesley 2013

    • Internet Resource

    - SEPA home page (multiple choice quiz and summary for each chapter)

    - Star UML (open source UML tool)

    - UML Tutorial

    - Pair programming (wikipedia)

    - Java Modeling Language (JML)

    Tutorial of 1st order logic by Prof. Dr. Bernhard Beckert @ Karlsruhe Institute of Technology (KIT)

    Pair programming Java coverage measurement tools

     

    Course Schedule

    Sep 5: General introduction to the class +  Intro to quality sw

    Sep 5 Night:  Intro. To SE (1/2) 

    Part I: The Software Process

    Sep 12:  Intro. to SE (2/2)

    Sep 19: Necessity of clear technical communication, Propositional logic (a.k.a. sentence logic) (pdf)

    Sep 21: Tutorial for 1st order logic 

    Sep 26: First order logic (a.k.a. predicate calculus) (pdf)

    Sep 28:  Ch1-2. Software Engineeringch3. Software process structure

    Oct 5:  Ch4. Process modelsCh5. Agile Development

    Part II: Modeling

    Oct 10, 12:  Unified Modeling Language   

    Oct 17:  Ch12. Design Concepts    (Tips for writing technical documents)

    Oct 19: Hints for desigining Safehome systemCh13. Architectural design, Q&A session

    Oct 24: Midterm Exam  

    Oct 31, Nov 2: Ch 14. Component-level design 

    Nov 7: Ch30. Product Metrics (partly including ch19. Quality Concept)

    Part III: Testing

    Nov 9: SW Testing overview 

    Nov 14, 16:Black-box testing: Input space partitioning

    Nov 21, 28: White-box testing: structural coverage for graph

    Nov 30: White-box testing: structural coverage for source code

    Dec 5: White-box testing: logical coverage for logic formula

    Dec 7: White-box testing: logical coverage for  source code

    Dec 12: automated test case generation technique: concolic testing,  Static analysis technique: Coverity 

    Dec 14: Q&A for final exam

    Dec 19: Final Exam  (4:00-6:00 PM)

    Assignments

        Document Actions