CISC 3171 Introduction to Software Engineering (Section TR3)

Spring 2023 (01/25/2023 – 05/23/2023)

by Professor Hui Chen, CUNY Brooklyn College

Table of Content

Instructor

Professor Hui Chen, Ph.D.
Office: Room 1432N Ingersoll Hall
Phone: 718-951-5000 x2055

Office Hours and Contact

Office Hours: 1:30 - 2:30 pm, Tuesday and Thursday

Office Hours Access: in-person (no appointment required during office hours at Room 1432N Ingersoll Hall or otherwise pre-arranged) and online (by arrangement via Zoom or Blackboard Collaborate)

E-mail: chen@sci.brooklyn.cuny.edu
E-mail Policy: When e-mailing the instructor, include your name and course section in the subject. The instructor will generally reply your message before next class meeting.

Class Meetings

Class Meeting: 03:40 - 04:55 PM Tuesday; 03:40 - 04:55 PM Thursday;
Class Meeting Method: In-Person
Classroom: Room 4141 Ingersoll Hall (4141 IH)

In-Person Class Meeting

The College designates this class as a in-person class in this semester, i.e., we shall convene class meetings including all exams and tests at the designated times and at the designated classroom.

Course Description

3 hours lecture; 0 hour lab; 3 credits

A broad view of software engineering that introduces a variety of software engineering techniques that can be applied to practical software projects. Topics include: process models, software specification, software design, software development methods and tools, verification and validation, reliability, and human factors.

Prerequisite: Computer and Information Science 3130 [22].

Learning Objectives

By the end of this course, students should be able

  1. to be able to identify, formulate, and solve software engineering problem (including specification, design, implementation, and testing)

  2. to be able to elicit, analyze, and specify software requirements

  3. to be able to use effective software architectures and design patterns

  4. to be able to express design of a software system

  5. to understand software quality and be able to effectively test software

  6. to be able to use appropriate tools in the software development life cycle process

  7. to be able to work effective in a software team

Topics Covered

The following topics are to be covered.

  1. Introduction to Software Engineering (Chapters 1, 2, and 3)

  2. Overview of Software Process Models (Chapter 4)

  3. Tools of the Trade

  4. Agile Development Process (Chapter 5)

  5. Requirement Engineering and Analysis (Chapter 6)

  6. Design (Architecture and Methodology) (Chapter 7)

  7. Design (Characteristics and Metrics) (Chapter 8)

  8. Implementation (Chapter 10)

  9. Testing and Quality Assurance (Chapter 10)

  10. Selected topics

Textbook

  1. Tsui, F. F., Karam, O., & Bernal, B. (2016). Essentials of software engineering (4th ed.). Jones & Bartlett Learning.

Academic Regulations and Procedures

All students should carefully and thoroughly read the section entitled Academic Regulations and Procedures in the Brooklyn College Undergraduate or Graduate Bulletin for a complete listing of academic regulations of the College.

Academic Integrity

The faculty and administration of Brooklyn College support an environment free from cheating and plagiarism. Each student is responsible for being aware of what constitutes cheating and plagiarism and for avoiding both. The complete text of the CUNY Academic Integrity Policy and the Brooklyn College procedure for policy implementation can be found at http://www.brooklyn.cuny.edu/bc/policies . If a faculty member suspects a violation of academic integrity and, upon investigation, confirms that violation, or if the student admits the violation, the instructor shall report the violation to the College.

Student Disability Services

In order to receive disability-related academic accommodations students must register with the Center for Student Disability Services first. Students who have a documented disability or suspect they may have a disability are invited to set up an appointment with the Director of the Center for Student Disability Services at (718)951-5538. If you have already registered with the Center for Student Disability Services, please provide the instructor with the course accommodation form and discuss your specific accommodation with the instructor.

Consideration of Religious Observance

New York State Education Law (Title I, Article 5, Section 224-a) requires that the College

makes available to each student who is absent from school, because of his [or her] religious beliefs, an equivalent opportunity to make up any examination, study or work requirements which he [or she] may have missed because of such absence on any particular day or days.

If you are unable to attend classes or take examinations, the instructor is happy to accommodate you as permitted by semester schedule and other constraints there may be; however, it is recommended that you make arrangement with the instructor in advance. You may also contact Division of Student Affairs , if you have questions about accommodations for religious observance.

Policy and Software for Online Exam Proctoring

CUNY procured online proctoring software for hosting online exams. In case that we must have online exams, the instructor may elect to proctor the exams via the online protoring software. A design objective of online proctoring software is to improve online exam security. However, to learn how it may affect you, you should take a look at some online proctoring software, such as, Respondus Monitor and Proctortrack.

Important Dates

The College’s Academic Calendar lists a few important dates. Below are some of these important dates. Be aware that the College may revise the Academic Calendar as we are still in the COVID-19 pandemic.

Important Dates

Date Description
Wednesday, January 25 First day of Spring 2023 classes
Tuesday, January 31 Last day to add a course
Tuesday, February 21 Conversion Day – Classes follow a Monday schedule
Monday, February 13 College Closed – No classes scheduled
Monday, February 20 College Closed – No classes scheduled
Wednesday, April 5 through Thursday, April 13 Spring Recess – No classes scheduled
Friday, May 12 through Saturday, May 13 Reading Day
Tuesday, May 16 Last day to withdraw from a course with a “W” grade
Tuesday, May 16 Last day of class
Wednesday, May 17 Final Examinations Begin
Tuesday, May 23 Final Examinations End / End of Spring Semester

Attendance and Participation

You are required to attend the lectures. Unless prearrangement is made with and approved by the instructor, or is permitted by Federal and State laws and regulations and the policies of of the College.

Reference to the state law regarding non-attendance because of religious beliefs is in the Undergraduate or Graduate Bulletin.

Student receives credit for attendance and participation in lectures. At each class meeting, the instructor will conduct an attendance roll-call or ask the students to sign an attendance sheet. In addition, there are required in-class exercises and discussion. For the in-class exercises and discussions, see the section of Assignments and Examinations for details.

Late Attendance

Students should join the class meetings on time. A late attendance may be recorded as absence from the class.

Assignments and Examinations

Individual Assignments

Typically, there are three kinds of assignments that you submit individually. These are quizzes, in-class exercises, and individual programming assignments. For quizzes and individual programming assignments you are required to work independently. For in-class exercises, you begin with a discussion in class, and then submit individually before leaving the class.

Group Programming Project

The students shall work in groups in the 2nd half of the semester to design and implement a database application.

To grade the assignment, the instructor considers the quality of the group work and individual contributions. The students shall provide a peer evaluation. The instructor will provide an evaluation on the quality of the projects. Both of the student peer evaluations and the instructor’s evaluations will be used in the student’s final grade calculation. A student’s may receive a lower grade than the project quality grade if the student makes far few contributions than her or his team members. In an extreme case, a student who does not make any contribution to the project may receive no points on a group assignment as evidenced by the peer evaluation and the others (such as, Github commit logs).

Midterm and Final Examinations

The instructor will give two exams, a Midterm Exam and a Final Exam. Refer to the course schedule for the time, the date, and the location of the Midterm and the Final Exams. Be aware that it is Brooklyn College Registration determines the time, the date, and the date of the Final Exam.

Assignment Submission

The instructor adopts the Github Classroom to manage assignments submission including individual assignments and the group assignment.

  • It is recommended that the students submit their programming assignments to Github by committing their work using a _Git_ client and pushing their work to their Github repositories. The Github Classroom repository invitation links for the assignments will be distributed in class.
  • Alternatively, the students can submit their works via Blackboard.
  • You should select a method at the beginning of the semester and keep using it for the rest of the semester

Late Submission

Late submissions are accepted, but penalized with 10% of penalty or one letter grade lower each day late. For instance, if a team submits a project one day late, the grade of the project will be lowered from A to B, B to C, and so on. In addition, a student will receive 0 on a submission of 5 or more days late.

Grade Calculation

Students final score is calculated on the scale of 100 as follows,

Grading Components and Grade Calculation

Component Percent Note
Attendance 05%  
Individual Assignments 10% about 15 online quizzes, in-class exercises, and invidual programming exercises
(Group) Project 35% 1 group project (including a demo and presentation)
Midterm Exam 20%  
Final Exam 30% The final exam is accumulative.

Letter Grade

Your final letter grade will be given as follows:

Letter Grade Assignment

Component Percent
90 - 100 A
80 - 89 B
70 - 79 C
60 - 69 D
0 - 59 F

Tips for Success

Below are some tips to help us succeed in this class.

Access to the Internet and Information Technology

It is essential that you have access to Broadband Internet, and to a computer with Web camera and microphone, minimally 8 GB RAM and 50 GB disk space. This allows you to install necessary software on the computer, e.g., JDK, to study, research, and look up online material, and to communicate with the instructor.

Be aware that the College and the University have made resources available to aid students. For instance, the College has established the Device Loan Program for Students and the University has a Virtual Desktop service In addition, the College maintains a Student Resources and Updates that documents services that students can leverage on for success. For instance, it describes the steps to obtain free Internet services from Charter Communications and Altice USA for students to take online classes.

Work Hours

You will need to devote at least 9 to 12 hours per week to the required lecture, reading, programming, experimenting, writing, and reasoning. Please devise a schedule (e.g., 2 to 2.5 hours per day, 5 days a week) and keep to it.

Lecture Participation

The lectures are crucial. It is important to participate in the class actively, such as, participating in class discussions, answering your classmates’ questions, answering the instructor’s questions, and asking questions.

Group and Peer Learning

Peer groups can be effective and beneficial to learning. You should leverage on the groups to which the instructor assigns you for your group assignments, or establish a group of your own, and actively discuss the relevant class topics with the group.

Video Conferencing Tools

Video conferencing tools, such as, Blackboard Collaborate Ultra has particularly useful features, such as, sharing screens and sharing files. You should master the tools and communicate effectively with your classmates and with the instructor, regardless the lectures are online or in-person.

The Brooklyn College Learning Center

Don’t forget that Brooklyn College has a Learning Center that is committed to help students succeed. One essential service that the learning center provides is the tutoring service. Visit the learning center online for more information.

The Brooklyn College Student Support Services

The Division of Student Affairs oversees a wide range of services among which you may find some useful. Visit the student support services online for more information.

Office Hours

The instructor maintains weekly office hours. The office hours provide you opportunities to work with the instructor on a one-to-one setting, and can be helpful to your study.

Instructional Technologies

The instructor posts syllabus, course schedule, and lecture notes on the Class Website; and posts assignments, assignment grades, and advisory grades on CUNY Blackboard and CodeLab.

Support and Resources