Syllabus
Computer Science EN.601.290
User Interfaces & Mobile Applications
Spring, 2025
(3 credits, E)

Class Meetings

MWF 3-4:15pm
Hackerman B17
Roughly two-thirds of the class sessions will include content delivery, student participation and/or assessment. All students are expected to attend class in person those days, except when ill. The extra class sessions will provide opportunities to work with teammates or learn optional material. Lecture materials for lesson days (including slides) will be available in some form(s) on the canvas course site, but they will not include active learning exercises and discussions that take place during class. A full schedule will be made available for student planning purposes.

Instructor

Dr. Joanne Selinski, joanne-at-cs.jhu.edu, see her webpage for coordinates and hours.

Course Assistants

Information on course staff and office hours will be posted on Piazza.

Online Resources

Course Information

Course Outcomes:

Upon completion of this course students should be able to:

  1. Work effectively on teams.
  2. Use modern development techniques and tools.
  3. Design user interfaces for mobile apps.
  4. Implement mobile apps - frontend and backend - on the Android platform.
  5. Use outside resources to learn technical details needed for app implementations.
  6. Understand the impact of mobile applications and interface design on diverse users.
  7. Present concept, design and implementation stages of mobile app development to peers.

ABET Outcomes

Each student successfully completing this course will be strengthened in the following areas:

Course Topics

The topics will be heavily integrated with each other. However, the approximate number of required class meetings spent on each are provided in (). A full schedule will be posted on Piazza.

Course Approach & Attendance

Think of this course as a guided independent study with both individual deliverables and teamwork. The format will be more workshop style than lecture style, with a heavy emphasis on active learning. Each student is asked to take ownership of their own learning and commit to colloboration with not only your team, but the class as a whole. As such you are expected to attend and actively participate in designated class sessions. You are responsible for all material presented while you are absent. Students who miss class due to illness, timezone, religious holidays, etc. should inform Joanne as soon as possible if requesting any (extra) accommodations as a result.

Team formation will be based partly on student preferences and partly on instructor discretion.

Students must attend two of three presentation days in each of the three presentation weeks.

Because of the significant group project in this course, disruptions due to illness or other circumstances will impact multiple students and must be handled carefully. Similarly, decisions to drop this course well into the semester can be very disruptive to group compositions. Please let the staff know as early as possible, and explicitly, if you are considering or decide to drop/withdraw from the course, or if you are not able to keep up with coursework for reasons beyond your control. Incomplete grades are largely infeasible for this course.

Course Expectations & Grading

A significant component of this course is completing tutorials and assignments to gain proficiency in designing and implementing user interfaces, along with the necessary back-end support and data management. We will primarily use instructor led class sessions for case studies, hands-on exercises, design reviews, discussions, and presentations. As such, it is important for students to plan to attend as many of these class sessions as possible. In-person participation is required for this course except when illness/circumstances prevent it. Optional class sessions will be used for make-ups, extra help sessions, special topics, and team meetings.

The grading breakdown is provided here. Each graded component in the course will be given a point value, and your overall grade for each element will be computed as points earned divided by total points possible. This course is not curved.

Key Dates

A detailed schedule will be posted on Piazza and updated as the semester progresses.

Assignments & Readings

Readings will be integrated into the assignments. Assignments will be posted and submitted on Canvas.

Assignment Logistics

The recommended platform for developing Android applications is Android Studio. Downloads for this and related tools are available on Piazza and should be completed as soon as possible. The installs can take some time and battery life, so plan to do this in a comfortable and powered location. If your laptop cannot support the software for the course, then unfortunately you will not be able to continue in the course.

Ethics

The strength of the university depends on academic and personal integrity. In this course, you must be honest and truthful, abiding by the Computer Science Academic Integrity Policy:

Cheating is wrong. Cheating hurts our community by undermining academic integrity, creating mistrust, and fostering unfair competition. The university will punish cheaters with failure on an assignment, failure in a course, permanent transcript notation, suspension, and/or expulsion. Offenses may be reported to medical, law or other professional or graduate schools when a cheater applies.

Violations can include cheating on exams, plagiarism, reuse of assignments without permission, improper use of the Internet and electronic devices, unauthorized collaboration, alteration of graded assignments, forgery and falsification, lying, facilitating academic dishonesty, and unfair competition. Ignorance of these rules is not an excuse.

Academic honesty is required in all work you submit to be graded. Except where the instructor specifies group work, you must solve all homework and programming assignments without the help of others. For example, you must not look at anyone else's solutions (including program code) to your homework problems. However, you may discuss assignment specifications (not solutions) with others to be sure you understand what is required by the assignment.

If your instructor permits using fragments of source code from outside sources, such as your textbook or on-line resources, you must properly cite the source. Not citing it constitutes plagiarism. Similarly, your group projects must list everyone who participated.

Falsifying program output or results is prohibited.

Your instructor is free to override parts of this policy for particular assignments. To protect yourself: (1) Ask the instructor if you are not sure what is permissible. (2) Seek help from the instructor, TA or CAs, as you are always encouraged to do, rather than from other students. (3) Cite any questionable sources of help you may have received, including Stack Overflow and ChatGPT.

On every exam, you will sign the following pledge: "I agree to complete this exam without unauthorized assistance from any person, materials or device. [Signed and dated]". Your course instructors will let you know where to find copies of old exams, if they are available.

Report any violations you witness to the instructor.
You can find more information about university misconduct policies on the web at this site: Undergraduate Conduct. You can also contact:
For undergraduates: the associate dean of student conduct (or designee) by calling the Office of the Dean of Student Life at 410-516-8208 or via email at studentconduct@jhu.edu
For KSAS Graduate Students: rseitz5@jh.edu
For WSE Graduate Students: christinekavanagh@jhu.edu

For this course specifically: use of ChatGPT to generate significant content for a homework solution is considered an ethics violation. Use of it as a reference tool (like StackOverflow) is permitted, but any resulting code must include a citation as a comment in the relevant code.

Inclusivity

The following statement was provided by the Homewood Council on Inclusive Excellence and is incorporated into all WSE course syllabi.

Johns Hopkins University is committed to creating a classroom environment that values the diversity of experiences and perspectives that all students bring. Everyone here has the right to be treated with dignity and respect. Fostering an inclusive climate is important because research and experience show that students who interact with peers who are different from themselves learn new things and experience tangible educational outcomes. Please participate us in creating a welcoming and vibrant classroom climate. Note that you should expect to be challenged intellectually by the instructor, the TAs, and your peers, and at times this may feel uncomfortable. Indeed, it can be helpful to be pushed sometimes in order to learn and grow. But at no time in this learning process should someone be singled out or treated unequally on the basis of any seen or unseen part of their identity.

If you ever have concerns in this course about harassment, discrimination, or any unequal treatment, or if you seek accommodations or resources, please reach out to your instructor or the TAs who will take your communication seriously and will seek mutually acceptable resolutions and accommodations. Reporting will never impact your course grade. You may also share concerns with the department chair, the Director of Undergraduate Studies (WSE Department Heads and DUSes), the WSE Associate Dean of Outreach and Belonging (Darlene Saporu, dsaporu@jhu.edu), the KSAS Assistant Dean for Diversity and Inclusion (Araceli Frias, afrias3@jhu.edu) or the Office of Institutional Equity (oie@jhu.edu).

In handling reports, people will protect your privacy as much as possible, but faculty and staff are required to officially report information for some cases (e.g., sexual harassment).

Disability Services

Johns Hopkins University values diversity and inclusion. We are committed to providing welcoming, equitable, and accessible educational experiences for all students. Students with disabilities (including those with psychological conditions, medical conditions, and temporary disabilities) can request accommodations for this course by providing an Accommodation Letter issued by Student Disability Services (SDS). Please request accommodations for this course as early as possible to provide time for effective communication and arrangements.

Mental Health Services

JHU has several resources to support students. Many students struggle at times with stress, anxiety, and depression. Mental Health Services has many resources available to students: Johns Hopkins University Student Well-Being (jhu.edu)

In addition, The Johns Hopkins University Behavioral Health Crisis Support Team (BHCST) pairs experienced, compassionate crisis clinicians with specially trained public safety officers for every shift on and around the Homewood campus, seven days a week. The BHCST will provide immediate assistance to those who need it and, just as importantly, link individuals in crisis to ongoing support services in the days and weeks that follow. Call Public Safety, 410-516-5600, and ask for a BHCST clinician.

If you have concerns about a specific student, please contact:

Academic Integrity

The strength of the university depends on academic and personal integrity. In this course, you must be honest and truthful. Ethical violations include cheating on exams, plagiarism, reuse of assignments, improper use of the internet and electronic devices, unauthorized collaboration, alteration of graded assignments, forgery and falsification, lying, facilitating academic dishonesty, and unfair competition.

Report any violations you witness to the instructor. You can also contact: