Open Access. Powered by Scholars. Published by Universities.®
- Discipline
- Keyword
-
- Software engineering (14)
- Programming languages (8)
- HCI (4)
- Human Computer Interaction (3)
- Syllabus (3)
-
- Accessibility (2)
- Computer science (2)
- Course (2)
- Devops (2)
- Disabilities (2)
- Machine learning systems (2)
- UI/UX (2)
- AI Agents (1)
- AST (1)
- Artificial Intelligence (1)
- CUNY OER (1)
- Coding for public good (1)
- Cognitive inquiry (1)
- Computer Science (1)
- Concept drift (1)
- Control-flow graphs (1)
- Design (1)
- Discussion (1)
- Distributed Computing (1)
- Eclipse (1)
- Feedback loops (1)
- Front-end (1)
- Inheritance (1)
- ML in production (1)
- ML pipeline (1)
- File Type
Articles 1 - 24 of 24
Full-Text Articles in Software Engineering
Challenges In Engineering Machine Learning (Software) Systems, Raffi T. Khatchadourian Ph.D.
Challenges In Engineering Machine Learning (Software) Systems, Raffi T. Khatchadourian Ph.D.
Open Educational Resources
Lecture slides on the software engineering challenges unique to machine learning systems, for an undergraduate software engineering course. After contrasting traditional programming with machine learning, the deck examines why the usual tools for managing complexity—abstraction, reuse, and composition—are harder to apply to ML, given the lack of clear specifications and modularity. It covers concept drift, feedback loops (illustrated with crime-prediction and recommendation examples), and the accumulation of technical debt in ML systems, including the role and pitfalls of notebooks in moving from experimentation to production. Based on "Machine Learning in Production/AI Engineering" by Christian Kaestner and Eunsuk Kang (Carnegie Mellon …
Introduction To Machine Learning And Machine Learning Systems, Raffi T. Khatchadourian Ph.D.
Introduction To Machine Learning And Machine Learning Systems, Raffi T. Khatchadourian Ph.D.
Open Educational Resources
Lecture slides introducing machine learning and machine learning systems for an undergraduate software engineering course. Topics include what machine learning is and how it differs from traditional programming, foundation models, the major types of learning (supervised, unsupervised, reinforcement, and others), and applications across domains. Using a food-delivery time-prediction case study, the deck walks through a typical ML pipeline—data collection and cleaning, feature engineering, model training, and evaluation—and covers evaluation methods (precision and recall, confusion matrices, error measures) along with underfitting versus overfitting and the realities of learning and evaluation in production. Based on "Machine Learning in Production/AI Engineering" by Christian …
Csc36000 - Modern Distributed Computing Assignment 2, Saptarashmi Bandyopadhyay
Csc36000 - Modern Distributed Computing Assignment 2, Saptarashmi Bandyopadhyay
Open Educational Resources
This assignment is designed to help the student identify and mitigate common errors in Distributed Computing such as race conditions and reaching consensus, as well as reflecting on how Distributed Computing concepts apply to their class project.
Csc 71010/Csci 77100: Programming Languages/Software Engineering, Raffi Khatchadourian
Csc 71010/Csci 77100: Programming Languages/Software Engineering, Raffi Khatchadourian
Open Educational Resources
No abstract provided.
Introduction, Raffi Khatchadourian
Working With Control-Flow Graphs, Raffi Khatchadourian
Working With Control-Flow Graphs, Raffi Khatchadourian
Open Educational Resources
No abstract provided.
Reengineering And Refactoring, Raffi Khatchadourian
Reengineering And Refactoring, Raffi Khatchadourian
Open Educational Resources
No abstract provided.
Building An Ast Eclipse Plug-In, Raffi Khatchadourian
Building An Ast Eclipse Plug-In, Raffi Khatchadourian
Open Educational Resources
Complete the Building an AST Eclipse Plug-in assignment. Once it works, find a medium-sized open-source Java project to run your plugin on. You may want to explore GitHub. Import the project into Eclipse and run your plug-in on it. Report on the following, which may require you to change some of the source code so that it is convenient:
- Project name.
- Project URL.
- Project description.
- The number of classes in the project.
- The number of user-defined methods in the project.
- For each class, the number of method calls.
- Statistics about the method calls:
- The total number of method calls …
Wala Quick Start, Raffi Khatchadourian
Wala Quick Start, Raffi Khatchadourian
Open Educational Resources
Setting up and trying the TJ Watson Library for Analysis (WALA).
Eclipse, Osgi, And The Java Model, Raffi Khatchadourian
Eclipse, Osgi, And The Java Model, Raffi Khatchadourian
Open Educational Resources
No abstract provided.
Abstract Syntax Trees (Asts) And The Visitor Pattern, Raffi Khatchadourian
Abstract Syntax Trees (Asts) And The Visitor Pattern, Raffi Khatchadourian
Open Educational Resources
No abstract provided.
Csci 40500/77100: Software Engineering, Raffi Khatchadourian
Csci 40500/77100: Software Engineering, Raffi Khatchadourian
Open Educational Resources
This course is intended to be an introductory survey on the fundamental concepts and principles that underlie current and emerging methods, tools, and techniques for the efficient engineering of high-quality software systems. This may include understanding and appreciating problems in large-scale software development such as functional analysis of information processing systems, system design concepts, timing estimates, documentation, and system testing.
Csci 40500/77100: Software Engineering, Raffi Khatchadourian
Csci 40500/77100: Software Engineering, Raffi Khatchadourian
Open Educational Resources
This course is intended to be an introductory survey on the fundamental concepts and principles that underlie current and emerging methods, tools, and techniques for the efficient engineering of high-quality software systems. This may include understanding and appreciating problems in large-scale software development such as functional analysis of information processing systems, system design concepts, timing estimates, documentation, and system testing.
Inheritance Details In Scala, Raffi Khatchadourian
Inheritance Details In Scala, Raffi Khatchadourian
Open Educational Resources
No abstract provided.
Devops: Lecture 1 - "Overview", Jeremy Andrews, Nyc Tech-In-Residence Corps
Devops: Lecture 1 - "Overview", Jeremy Andrews, Nyc Tech-In-Residence Corps
Open Educational Resources
Overview lecture for the "DevOps" course delivered at the City College of New York in Spring 2020 by Jeremy Andrews as part of the Tech-in-Residence Corps program.
Devops: Architecting Your Infrastructure (Syllabus), Jeremy Andrews, Nyc Tech-In-Residence Corps
Devops: Architecting Your Infrastructure (Syllabus), Jeremy Andrews, Nyc Tech-In-Residence Corps
Open Educational Resources
Syllabus for the "DevOps" course delivered at the City College of New York in Spring 2020 by Jeremy Andrews as part of the Tech-in-Residence Corps program.
Needfinding, Devorah Kletenik
Needfinding, Devorah Kletenik
Open Educational Resources
This activity guides students through the process needfinding to identify areas of need for their creation of a technology for the "public good." Students will conduct contextual inquiry to identify the needs of their target audience.
Personas, Scenarios And Storyboards, Devorah Kletenik
Personas, Scenarios And Storyboards, Devorah Kletenik
Open Educational Resources
This activity guides students towards the creation of personas, scenarios and storyboards for a product/website that they are creating.
Public Interest Technology: Coding For The Public Good, Devorah Kletenik
Public Interest Technology: Coding For The Public Good, Devorah Kletenik
Open Educational Resources
These slides are used to guide a discussion with students introducing them to the notion of public interest technology and coding for the public good. The lesson is intended to spark a discussion with students about different sorts of technology and their societal ramifications.
Accessibility: The Whys And The Hows, Devorah Kletenik
Accessibility: The Whys And The Hows, Devorah Kletenik
Open Educational Resources
This presentation introduces Computer Science students to the notion of accessibility: developing software for people with disabilities. This lesson provides a discussion of why accessibility is important (including the legal, societal and ethical benefits) as well as an overview of different types of impairments (visual, auditory, motor, neurological/cognitive) and how developers can make their software accessible to users with those disabilities. This lesson includes videos and links to readings and tutorials for students.
Coding For The Public Good: Front-End Website Design And Development, Devorah Kletenik
Coding For The Public Good: Front-End Website Design And Development, Devorah Kletenik
Open Educational Resources
This activity helps student design and develop a front-end of a website, from wireframes through HTML/CSS/Javascript. It includes design questions for students, including the invocation of Ben Schneiderman's eight golden rules for interface design.
Note: this activity assumes prior knowledge of web development. Since this activity is designed for an HCI course, with a focus on interface design, students are not expected to create a back-end for it. This activity can obviously be modified for a full-stack experience.
Accessibility Evaluation, Devorah Kletenik
Accessibility Evaluation, Devorah Kletenik
Open Educational Resources
This activity guides students through the evaluation of a website that they have created to see if it is accessible for users with disabilities. Students will simulate a number of different disabilities (e.g. visual impairments, color blindness, auditory impairments, motor impairments) to see if their website is accessible; they will also use automated W3 and WAVE tools to evaluate their sites. Students will consider the needs of users with disabilities by creating a persona and scenario of a user with disabilities interacting with their site. Finally, students will write up recommendations to change their site and implement the changes.
Enhancing The Study Of Art History Utilizing Computational Thinking: Focus, Abstraction In Art (Modern), Douglas L. Moody, Sandra Cheng
Enhancing The Study Of Art History Utilizing Computational Thinking: Focus, Abstraction In Art (Modern), Douglas L. Moody, Sandra Cheng
Open Educational Resources
No abstract provided.
Arecibo Message, Joshua P. Tan
Arecibo Message, Joshua P. Tan
Open Educational Resources
This two week assignment asks students to interpret and analyze the 1974 Arecibo Message sent by Drake and Sagan. Week 1 introduces the concepts behind the construction of the message and engages with a critical analysis of the architecture and the contents of the message. Week 2 asks students to develop software in a Jupyter Notebook (available for free from the Anaconda Python Distribution) to interpret messages that were similar to those produced by Drake and Sagan.