Home
Research profile
Teaching profile
Professional profile
Personal profile
Contact information

Course title

EECS 581 (3 credit hours): Software Engineering II -- Fall 2025
Meets in person, Monday, Friday, 4:00 pm - 4:50 pm, Eaton 2

Instructor

Professor Hossein Saiedian
Office: Eaton Hall 3012
☎ 785-864-8812
@ saiedian AT ku.edu
WWW: people.eecs.ku.edu/~saiedian
Teaching: people.eecs.ku.edu/~saiedian/Teaching
🕒 Monday and Wednesdays, 2:00-3:00 PM (and by appointment)

Teaching assistants

Adhikari, Ashish (adhikariashish2 @ku.edu)
Ahsan, Jawad (j.ahsan02 @ku.edu)
Likcani, Kevin (kevinlikcani @ku.edu)
Paudel, Pramil (pramil.paudel @ku.edu)
Tran, Huy (huydinhtran @ku.edu)

Course description

This lecture/laboratory course covers the systematic development of software products. Topics include: scope of software engineering, life-cycle models, software process, teams, ethics, tools, testing, planning, and estimating. It concentrates on requirements, analysis, design, implementation, and maintenance of software products.

Prerequisite: EECS 348, EECS 330, and upper-level EECS eligibility. Corequisite: EECS 565.

Course outcomes

1. Mastery of software engineering processes: Demonstrate proficiency in applying software engineering life-cycle models, including requirements analysis, design, implementation, testing, and maintenance, to develop robust and scalable software systems, incorporating database concepts such as relational schemas and SQL-based data management when appropriate.

2. Effective team collaboration and project management: Function effectively within a team of 5–6 members to plan, schedule, and execute a team-based software project, utilizing project management tools, version control systems (e.g., GitHub), and communication strategies to ensure successful delivery of project artifacts.

3. Proficiency in software requirements and modeling: Develop and document precise software requirements using formal modeling techniques (e.g., state modeling with Z, dynamic behavior modeling) and create software architectures that address quality attributes, ensuring traceability and alignment with project goals.

4. Software quality and testing competence: Apply modern software quality assurance practices, including test-driven development, static and dynamic testing (e.g., black-box and white-box testing), and capability maturity model integration, to ensure high-quality, reliable software products.

5. Ethical and social impact awareness: Analyze and articulate the local and global impacts of software systems on individuals, organizations, and society, applying ethical principles (e.g., ACM and IEEE codes of ethics) to design inclusive, accessible, and sustainable software solutions.

6. Lifelong learning and adaptation: Acquire and apply new knowledge as needed, using appropriate learning strategies to stay current with emerging software engineering trends, tools, and technologies.

Recommended textbooks

Below are several relevant textbooks that address topics covered in this course.
Software Engineering: A
	  Practitioner's Approach
Roger Pressman and Bruce Maxim, Software Engineering: A Practitioner's Approach, 9th edition, McGraw-Hill, 2020.

Table of Contents

Mathematical Foundations of Software
	  Engineering
Gerard O'Regan, Mathematical Foundations of Software Engineering, Springer, 2024.

Table of Contents

UML Distilled
Martin Fowler, UML Distilled: A Brief Guide to the Standard Object Modeling Language, Pearson, 2003.

Table of Contents

Evaluation (subject to revision)

Evaluation criteria. Students will be evaluated as follows:

🎯Term projects: 60%
✍ Assignments: 10%
📝 Exams: 30%

Term projects. Students will form teams of 5–6 to complete three collaborative software engineering projects using the Scrum agile methodology, with a Teaching Assistant serving as the Scrum Master. The first project involves developing a software from provided specifications, the second focuses on maintaining and enhancing another team’s project, and the third is an innovative, team-designed system integrating advanced technologies (e.g., cloud computing, a backend database, microservices, or secure database solutions). Teams may choose their programming language (e.g., Python, C, C++, C#, Go) and must use GitHub for version control and Canvas for submissions. Detailed requirements, sprint expectations, and rubrics will be available on Canvas, emphasizing technical quality, process adherence, and ethical considerations aligned with ACM and IEEE codes of ethics.

Term Project 1: The Minesweeper Game (20%). A foundational project involving the development of the Minesweeper game. This phase assesses your ability to apply core EECS348 course concepts

Term Project 2: Peer Code Enhancement (10%). This project focuses on developing a crucial professional skill: understanding and maintaining existing codebases. Your team will be tasked with adding features to another team's Minesweeper project, providing practical experience in working with and enhancing code written by others.

Term Project 3: Team-Generated Application (30%). A culminating Agile project where teams will conceptualize, design, and develop a novel application from scratch. This part of the project evaluates creativity, teamwork, and mastery of advanced course material.

Everything you need to know about the term projects, including requirements for each, required artifacts, grading rubrics, and due date, is available on the course’s official Canvas page.

Assignments. Students will complete assignments both at home and during class. Certain in-class assignments may utilize iClicker, through which students will submit their answers in real time.

Exams and quizzes. Exams and quizzes will be conducted in-person in the classroom and are closed-book and closed-notes, administered via Canvas. Bring a device capable of accessing Canvas for all exams and quizzes. During testing, no other devices, files, or applications may be used, and only one browser tab (for Canvas) is permitted. Unauthorized use of additional resources will result in a violation of academic integrity policies.

  • Structuring responses for exams, quizzes, and lab assignments. For questions with multiple parts (e.g., “name three parts of…”), address each part separately to ensure clarity and avoid confusion. Use clear identifiers such as “(1)”, “(2)”, and “(3)” to organize your answers. If more than the requested number of parts are provided, only the first three will be graded. Structured, precise responses demonstrate your understanding effectively.
  • Demonstrating engagement in exams, quizzes, and lab assignments. Your responses must reflect active engagement with course material. Answers derived from generative AI, Wikipedia, or similar online sources will receive no credit. Instead, draw from class discussions, lectures, and your personal notes to showcase your attentiveness, study habits, and ability to connect with concepts presented in the classroom. Students who attend classes, take thorough notes, study diligently, and align responses with course content will excel.
  • Providing technical and detailed responses. Exams, quizzes, and lab assignments require precise, technically accurate, and comprehensive answers. Vague, incomplete, or off-topic responses will not earn full credit, even if partially correct. To maximize points, provide detailed explanations supported by specific examples and relevant course concepts. Demonstrate a clear understanding through well-crafted, focused responses.

Submission format policy. All course work—including assignments, reports, and projects—must be typeset and submitted electronically via Canvas. Please note that “typeset” refers to work composed using digital tools (e.g., word processors, , image editing software, etc.). Handwritten or hand-drawn submissions will not be accepted.

Course lectures and resources

Students are responsible for engaging with all course materials, including lecture slides, topics covered in class discussions, assigned readings, and supplementary resources (e.g., handouts, code samples, or project guidelines) distributed during class sessions. All materials will be posted on Canvas, and students are expected to regularly check Canvas for updates to ensure they remain informed and prepared. Active engagement with these resources is critical for success in assignments, projects, and exams, and aligns with the course’s emphasis on professional responsibility and self-directed learning.

Lecture notes (Canvas)
Readings (Canvas)
Project resources (Canvas)

Grading philosophy and scale

This course is not curved in the traditional sense. I do not set a fixed class average (e.g., a B+) and scale grades to fit a predetermined distribution. Instead, I ask one fundamental question: “Has this student mastered the material?”

If every student demonstrates clear mastery of the course content, then every student earns an A. Grades are not a measure of relative ranking—they are a reflection of your personal understanding and engagement with the work.

I encourage you to shift your focus away from grade anxiety. Instead, concentrate on being present, asking questions, exploring ideas, and participating fully in the learning process. In return, I promise to be fair, transparent, and extra supportive. We are in this together, and I want each of you to succeed—not just by earning a grade, but by growing as scholars and professionals.

I am genuinely invested in your progress, and nothing would make me happier than seeing every student earn an A through honest work and intellectual curiosity.

The above said, final course grades will be determined by the total percentage of points earned. The following standard scale will be used:

  • A (Excellent): 90–100%
  • B (Good): 80–89%
  • C (Satisfactory): 70–79%
  • D (Poor): 60–69%
  • F (Failing): Below 60%

Tentative weekly schedule (re-visit for updates)

➡️ Course syllabus and course overview
  -- Description of the term projects
  -- Striving for successful teams
  -- Team assignments

Please watch: Intro to Scrum (7 minutes)
Please watch: Scrum under 10 minutes

In this initial phase, students should meet with their teammates to get acquainted and discuss each other's backgrounds, skills, and working styles. Teams should also openly discuss and tentatively assign roles—such as project manager—based on individual strengths and interests. The goal is to build rapport and begin identifying how each member might contribute to the project.

➡️ Software project management
  -- Project planning
  -- Project effort and cost estimation
  -- Story points, Use case points, parametric models
  -- The mythical man-month
  -- Conceptual integrity: implications
  -- Team management
  -- Pair-programming in Agile models

September 1: Labor Day

➡️ Software project management (continued)
  -- Risk management
  -- Project scheduling
  -- Modeling tools for project scheduling
  -- Work Breakdown Structures, Gantt Charts, PERT charts, CPM, burn-down charts
  -- Work-flow modeling (UML Activity diagrams)

➡️ Software development models: an overview
➡️ What makes software engineering "engineering"
  -- Formalism in software engineering

Required reading (external; not on Canvas) Marc Brooker and Ankush Desai, Leveraging Formal and Semi-Formal Methods: Systems Correctness Practices at Amazon Web Services, Communications of the ACM, 68(6), June 2025.

Mini-Exam 1 (software project management)

➡️ Formal modeling of software requirements
  -- State modeling with Z

Freeze code on the master branch of your team’s GitHub repository. Prepare to demonstrate your project’s core features, functionality, and user experience to your Scrum Master—highlighting how it meets requirements, solves the intended problem, and reflects team collaboration.

Required reading (external; not on Canvas) Chris Newcombe, et al, How Amazon Web Services Uses Formal Methods, Communications of the ACM, 58(4), April 2015.

➡️ Formal modeling of software requirements (continued)
  -- State modeling with Z
  -- Model checking

Formal modeling of software requirements (continued)
  -- Dynamic behavior (state transition) modeling

Mini-Exam 2 (primarily on formal modeling)

Demonstrate the enhancements your team made to the original Minesweeper project, highlighting added functionality and/or improved usability. The objective is to assess whether your team successfully understood the code developed by another team and enhanced it with meaningful new features.

➡️ Software architecture in practice
  -- Software architecture: components, connectors, rationale
  -- Software architecture quality attributes: understanding
  -- Software architecture quality attributes: achieving
  -- Architectural styles, patterns, and tactics

Initial Requirements Stack & Story Point Estimate. Submit a prioritized list of initial features and user stories for your application, along with estimated story points to guide sprint planning.
October 13: Fall break

➡️ Service-oriented architecture
  -- Service contract, operations, service composition
  -- Service registry, service customers
  -- Microservices architecture

Initial Architecture & Sprint 1 Requirements List. Provide a high-level overview of your system architecture and a detailed list of user stories selected for Sprint 1 implementation.

➡️ Software architecture in practice
  -- Microservices architecture: deployment & scalability
  -- Containerization and orchestration

Mini-Exam 3 (primarily on software architecture)

➡️ Software quality assurance
  -- Modern software quality management
  -- Software quality assurance
  -- Software process improvement
  -- Capability maturity model integration

Sprint 1 Release & Sprint 2 Requirements List. Deliver the first working release of your application and submit the updated list of user stories planned for Sprint 2.

➡️ Software testing process
  -- Test-driven development
  -- Traceability requirements testing process
  -- Static testing (inspection, formal reviews, proof of correctness)
  -- Black-box testing: equivalence partitions
  -- White-box testing: dataflow testing

➡️ Software testing process (continued)
  -- Black-box testing: equivalence partitions
  -- White-box testing: dataflow testing

Mini-Exam 4 (primarily on software quality assurance)

Sprint 2 Release & Sprint 3 Requirements Lista. Release Sprint 2 features and submit the next set of prioritized user stories for Sprint 3 development.

➡️ The impact of software engineering on individuals, organizations, society

➡️ From Turing to agile
  -- Tracing the history of computing and the emergence of SE as a discipline

➡️ Sustaintable development practices
  -- Energy-efficient software design
  -- Cloud efficiency
  -- Building maintainable, extensible software to reduce technical debt
  -- Agile and DevOps practices that reduce waste and improve efficiency

Sprint 3 Release & Final Sprint Requirements List. Submit the Sprint 3 release and outline the final set of features and refinements planned for the last sprint.
➡️ Ethical and social sustainability
  -- Software engineering ethics (ACM and IEEE)
  -- Designing inclusive and accessible software
  -- Supporting open-source and community-driven development
  -- Protecting code: Intellectual property in SE

November 26, 28: Thanksgiving break

➡️ Architecting the future of software engineering

➡️ Course review

Final Sprint Release & Presentation (in person or video). Deliver the final version of your application and present your project—highlighting key features, design decisions, and team collaboration.

Friday December 5: Stop day

December 8: Comprehensive Final Exam @ 4:30-7:00pm


Fall 2025 special dates

Date Event/Assessment
September 1 (Mon) Labor Day – No class
September 12 (Fri) Mini-Exam 1 (primarily software project management)
October 3 (Fri) Mini-Exam 2 (primarily formal modeling)
October 11–14 (Sat–Tue) Fall Break – No class on Mon, Oct 13
October 24 (Fri) Mini-Exam 3 (primarily on software architecture)
November 14 (Fri) Mini-Exam 4 – (primarily on software quality assurance)
November 26, 28 (Wed, Fri) Thanksgiving Break – No class
December 5 (Fri) Stop Day – No class
December 8 (Mon) Final Comprehensive Exam – 4:30 PM–7:00 PM

Classroom engagement via

iClicker is an interactive classroom response system that allows students to engage actively by answering questions and participating in polls. The University of Kansas has secured an iClicker subscription for classroom use, and the EECS department is incorporating this system into its courses to boost student engagement. Participation in the iClicker community is mandatory for this course.

When an iClicker notification is sent, students are briefly polled to confirm receipt. If a student encounters a technical issue, they should raise their hand to be acknowledged and meet with the instructor immediately after class to manually adjust the iClicker record.

Responding to iClicker notifications when not physically present in the classroom is strictly prohibited. It constitutes a deliberate act of academic dishonesty and a direct violation of the University of Kansas code of conduct. Logging attendance or submitting responses while absent undermines the integrity of our learning environment and disrespects both the instructor and fellow students who are fully participating. Violations will result in a mandatory meeting with the EECS department chair to address the misconduct and its implications.

LLM and generative AI tools

Generative AI tools—such as ChatGPT, GitHub Copilot, Gemini , and others—can be valuable resources for learning. When used appropriately, they may assist in brainstorming, exploring ideas, and refining drafts. However, they must never replace your own intellectual work.

These tools are akin to the writing center consultants, the EECS programming tutors, and lab assistants: they can guide and support but must not generate final submissions. Submitting content primarily generated by AI is a violation of academic integrity, comparable to submitting work completed by someone else.

Unless explicitly permitted, all coursework must reflect your original understanding, reasoning, and expression. If you use AI tools at any stage of an assignment, you are required to disclose that use via a brief reflection, which must include:

  • A description of how and why AI was used
  • The specific prompts you entered
  • How you validated and revised the AI output
  • The challenges or limitations you faced while using AI

Failure to disclose use of AI tools or submitting AI-generated work as your own will be treated as academic misconduct. Minimum consequences include a zero on the assignment. Depending on severity, further penalties may include failure in the course and formal referral to the School of Engineering disciplinary committee.

This course is designed to build your skills—not evaluate the performance of generative tools. Authentic engagement with course challenges leads to meaningful growth. Overreliance on AI undermines both your learning and the integrity of our academic community.

Intellectual honesty is not optional—it defines your identity as an engineer, a scholar, and a professional.
.

Academic integrity policy

The University of Kansas, the School of Engineering, and the Department of Electrical Engineering & Computer Science (EECS) maintain a zero-tolerance policy toward academic dishonesty and misconduct. All students enrolled in this course are expected to uphold the highest standards of integrity and professionalism in their academic work.

Academic dishonesty includes, but is not limited to:

  • Plagiarism: Representing another person’s work, writing, or ideas—whether published, unpublished, or submitted by another student—as one’s own, without proper attribution.
  • Unauthorized collaboration: Giving or receiving unapproved help on assignments, projects, quizzes, or exams.
  • Misrepresentation: Knowingly presenting false information or misattributing the source of academic work.
  • Cheating: Using unauthorized resources during assessments or submitting work completed by someone else.
  • Falsification of research or data: Fabricating results, manipulating data, or misreporting findings.

The minimum consequence for an academic integrity violation is a zero on the item in question (e.g., lab, assignment, quiz, or exam). Depending on severity, penalties may include a grade reduction, a failing grade for the course, and formal referral to the School of Engineering's disciplinary committee for further review and sanctions.

All definitions and procedures follow institutional policy and guidance outlined by the University of Kansas Office of Student Affairs and the EECS Department. Students are expected to be familiar with and adhere to these standards at all times.

Please also see KU's academic misconduct policy

LMS features. During exams or quizzes, only one device should be used, with solely the Canvas app or a single browser tab for Canvas open. Having any other app or file open will be considered a violation of academic integrity. To further facilitate academic integrity, the following features of Canvas will be utilized:

  • Each exam and quiz will be conducted synchronously in classroom, will be scheduled on a regular weekly session.
  • Each exam or quiz will have a limited and narrow time (set via a timer) to be completed and each person will get only one chance to do it.
  • Exam and quiz questions will be randomly numbered for each person. Furthermore, the multiple choice, matching and similar questions will have randomized choice selections. As a result, a choice like "All of the above" or "None of the above" may not be the last choice and refers to the other choices.
  • Exam and quiz questions will be displayed one-at-a time, with no backtracking.
  • The "originality checking" mechanisms of LMS will be utilized for exams but also assignments. LMS is able to check written responses against online databases of previously published works and trace sentences or clauses to other sources.
  • LMS features to prohibit printing, copying/pasting of exams will be turned on.
  • LMS lockdown feature will be employed.

Code of student rights and responsibility: Code of Student Rights and Responsibilities

The School of Engineering statement on EdTech

"[P]rofessors and instructors at the KU School of Engineering are aware that some students are actively posting assignments, laboratory, and exam questions and responses to EdTech services (e.g., Chegg) even during exam time frames.

Keep in mind that when a person signs up to participate by either uploading, and/or downloading, and/or using posted material from these sites, the “terms of service” that are agreed to do not protect the person when KU and/or the School of Engineering decide to conduct investigations related to academic misconduct (e.g., plagiarism and/or cheating).

In fact, EdTech services, like Chegg, retain contact information of students who use their services and will release that information, which is traceable, upon request. Using these services constitutes academic misconduct, which is not tolerated in the School of Engineering. It violates Article 3r, Section 6 of its Rules & Regulations, and may lead to grades of F in compromised course(s), transcript citations of academic misconduct, and expulsion from the University of Kansas.

If unsure about assignments, it is important that students use the allowable available resources, such as instructor office hours, graduate teaching assistants, and/or tutoring. The School of Engineering wants students to be successful; cheating is not the way to attain that success."

Attendance, late work, and makeup policies

Attendance expectation. Regular attendance is essential for success in this course and its lab components. Attendance will be be recorded throughout the semester via iClicker. More than three unexcused absences will result in a one-letter reduction in the final course grade, which will be reflected when grades are posted at the end of the term.

Excused absence requests. Requests for excused absences must be submitted in advance and approved by the instructor, except in cases of emergency. For emergencies, notify the instructor as soon as possible following the absence. Supporting documentation must be included with all requests. Examples of excusable absences are listed below.

Responsibility for missed work. Students who miss class without a valid excuse are responsible for obtaining missed materials. The instructor or the TAs will not provide individual makeup lectures or one-on-one instruction. It is the student's responsibility to stay informed about course content and course updates.

Late-work, makeup policy. Late work will not be accepted under any circumstances. Make-up options for labs, quizzes, and exams are unavailable except in cases of excused and verified absences. Exceptions will be made for excusable absences.

Timing of make-up assessments. Make-up quizzes and exams for excused absences must be completed before the class session in which the quiz or exam content will be reviewed or its answer key released. Make-up labs must be completed within one week of the excused absence.

Make-up assessment integrity statement. If granted permission to take a quiz or exam at a later time due to an excused absence, the student must affirm the following: “I acknowledge that I have been granted the opportunity to complete this assessment as a result of an officially excused absence from its original administration. I hereby affirm—without reservation—that I have not sought, received, or accessed any information regarding the content, structure, or subject matter of this quiz or exam from any individual who previously completed it. This includes, but is not limited to, verbal conversations, written notes, online discussions, messaging apps, shared files, or any other form of communication. I understand that violating this pledge constitutes academic misconduct and will result in immediate disciplinary action, including a failing grade on the assessment and referral to the School of Engineering disciplinary committees.”

Common policies

Technical problems. If you experience technical problems with your EECS account or the EECS servers or the lab equipment, please submit a support request help at: https://tsc.ku.edu/request-support-engineering-tsc.

Inside classroom policy. Students are expected to come to the class on time, be attentive and engaged, conduct themselves professionally, and avoid anything that could cause a distraction or detrimental either for other students learning or for the instructor's presentations. Profanity and swearing is not allowed.

Students are expected to actively participate in all classroom presentations and discussions, ask questions, and regularly make contributions such as offering comments, responding with good answers, and providing feedback.

Canvas announcements. Announcements is a Canvas tool to post important information and updates to all members of a course. It is your responsibility to regularly check your Canvas account for such announcements (students may also receive an email notification when a new announcement is posted).

Email communications E-mail communication is fast, flexible, and effective. You have an @ku.edu email account and you are expected to regularly check it. Important information may also be communicated via email.

You are a student registered in a course offered by the School of Engineering at the University of Kansas, a top regional and a nationally ranked institution. Your communications, especially written communications (composition, grammar, spelling, punctuation, etc), should reflect that status. Please follow these email guidelines and etiquettes.

Send text-only emails in text-only format. All classroom assignments, labs, or projects should be typeset and submitted on Canvas. Other documents (e.g., documents for an excusable absence) shoud be emailed in PDF or a well-known image format (e.g., JPG or PNG). See the Guidelines for submitting electronic documents.

Grade and absence clarification or correction. If you believe your grades on an assignment, lab, quiz, or exam are incorrect, you should formally submit a grade appeal via email to the instructor within one week of receiving the graded work. Similarly, if you have an excusable absence, and you did not provide documentation prior to the absence, submit relevant documentation within one week of the absence. Failure to address concerns within these timeframes will result in the decision becoming final. This timeline ensures timely resolution and fairness for all parties involved.

Cell phone policy. Cell phones should be turned off before coming to the classroom. Cell phone use for the purposes of texting, email or other social media should be avoided. Earphones for music are OK during lab work or individualized problem solving, as long as the volume allows you to hear announcements. Also cell phone or other cameras may be used to photograph projects and the whiteboard but avoid shots that include the presenter or other students.

Laptop/electronic device policy. The use of laptops, tablets or similar devices is common for taking notes but turn off audio and avoid any possible uses that could cause distraction for others (e.g., Web surfing or social media visits).

Incomplete grade policy. "Incomplete (I) grades are used to note, temporarily, that students have been unable to complete a portion of the required course work during that semester due to circumstances beyond their control. Incomplete work must be completed and assigned an A-F or S/U grade within the time period prescribed by the course instructor. After one calendar year from the original grade due date, an Incomplete (I) grade will automatically convert to a grade of F or U, or the lapsed grade assigned by the course instructor."

Also please review change of grade policy here and here.

Accommodations for students with disabilities. The University of Kansas is committed to providing equal opportunity for participation in all programs, services and activities. Requests for special accommodations may be made thru the KU Student Access Services.

The Provost's freedom of expression statement . "Our IRISE values will guide us and our students as we all engage with each other in respectful freedom of expression.

In a setting as diverse as KU, we will inevitably encounter ideas, opinions and philosophies that are different than our own and which some personally find uncomfortable or offensive. To be clear, threats, incitement of violence and targeted harassment are not protected speech under the First Amendment. Offensive speech, although it can be painful, is generally considered protected speech. We need to strongly encourage and facilitate civil and respectful discussion and interaction. We simply must not inhibit or penalize expression protected by the First Amendment."

Please also see: The Provost's academic year welcome memo

KU's nondiscrimination, equal opportunity. "The University of Kansas prohibits discrimination on the basis of race, color, ethnicity, religion, sex, national origin, age, ancestry, disability, status as a veteran, sexual orientation, marital status, parental status, gender identity, gender expression, and genetic information in the University's programs and activities."

Please also see: KU's statement on nondiscrimination and on racial and ethnic harassment policy.

KU's sexual harassment policy. "The University of Kansas prohibits sexual harassment and is committed to preventing, correcting, and disciplining incidents of unlawful harassment, including sexual harassment and sexual assault."

Please also see KU's statement on sexual harassment.

KU's mandatory reporter statement. "The University of Kansas has decided that all employees, with few exceptions, are responsible employees or mandatory reporters who must report incidents of discrimination, harassment, and sexual violence that they learn of in their employment at KU to the Office of Civil Rights and Title IX. This includes faculty members. As such, if you share information about discrimination, harassment, or sexual violence with me, I will have to relay that information to the Office of Civil Rights and Title IX. I truly value your trust in me to share that information and I want to be upfront about my requirement as a mandatory reporter. If you are interested in contacting KU’s confidential resources (those who do not have to make disclosures to OCRTIX), there are: the Care Coordinator, Melissa Foree; CAPS therapists; Watkins Health Care Providers; and the Ombuds Office."

Please see KU's statement on mandatory reporting.

KU's commercial note-taking ventures. "Pursuant to the University of Kansas’ Policy on Commercial Note-Taking Ventures, commercial note-taking is not permitted in this course. Lecture notes and course materials may be taken for personal use, for the purpose of mastering the course material, and may not be sold to any person or entity in any form. Any student engaged in or contributing to the commercial exchange of notes or course materials will be subject to discipline, including academic misconduct charges, in accordance with University policy. Please note: note-taking provided by a student volunteer for a student with a disability, as a reasonable accommodation under the ADA, is not the same as commercial note-taking and is not covered under this policy."

Please see KU's statement on commercial note-taking.

Concealed handguns. "Individuals who choose to carry concealed handguns are solely responsible to do so in a safe and secure manner in strict conformity with state and federal laws and KU weapons policy. Safety measures outlined in the KU weapons policy specify that a concealed handgun:

  • Must be under the constant control of the carrier.
  • Must be out of view, concealed either on the body of the carrier, or backpack, purse, or bag that remains under the carriers custody and control.
  • Must be in a holster that covers the trigger area and secures any external hammer in an un-cocked position.
  • Must have the safety on, and have no round in the chamber."

Ethical foundations for technical professionals

The ACM's and IEEE's code of ethics. As IT and computing professionals and/or as engineers, you should be familiar with the ACM's (IT, computing) and IEEE (engineering) codes of ethics and apply them during your academic and professional careers. These are lifelong commitments to integrity and professional conduct.

We will review these during the first class session, but you are strongly encouraged to review these codes in detail:

From the ACM's preamble: Computing professionals' actions change the world. To act responsibly, they should reflect upon the wider impacts of their work, consistently supporting the public good. The ACM Code of Ethics and Professional Conduct ("the Code") expresses the conscience of the profession.

From the IEEE's preamble: We, the members of the IEEE, in recognition of the importance of our technologies in affecting the quality of life throughout the world, and in accepting a personal obligation to our profession, its members and the communities we serve, do hereby commit ourselves to the highest ethical and professional conduct and agree.