Updating search results...

Search Resources

18 Results

View
Selected filters:
  • software-engineering
Does It Work? Test and Test Again
Read the Fine Print
Educational Use
Rating
0.0 stars

Testing is critical to any design, whether the creation of new software or a bridge across a wide river. Despite risking the quality of the design, the testing stage is often hurried in order to get products to market. In this lesson, students focus on the testing phase of the software/systems design process. They start by exploring existing examples of program testing using the CodingBat website, which contains a series of problems and challenges that students solve using the Java programming language. Working in teams, students practice writing test cases for other groups' code, and then write test cases for a program before writing the program itself.

Subject:
Applied Science
Computing and Information
Education
Engineering
Material Type:
Lesson Plan
Provider:
TeachEngineering
Provider Set:
TeachEngineering
Author:
Brian Sandall
Janet Yowell
Ryan Stejskal
Date Added:
09/18/2014
Evolución del Computador desde el ABC de su Arquitectura hasta la Construcción de una PC Gamer
Conditional Remix & Share Permitted
CC BY-NC-SA
Rating
0.0 stars

El libro es una obra completa que aborda distintos aspectos importantes de la informática, desde la arquitectura y organización de la computadora hasta la construcción de una PC gamer. En el primer capítulo se explica de manera detallada la arquitectura y organización de los ordenadores, mientras que en el segundo se analizan las diferentes generaciones de ordenadores y su evolución a lo largo del tiempo, llegando hasta la inteligencia artificial. El tercer capítulo está dedicado a la memoria de la computadora y su funcionamiento, mientras que en el cuarto se explican las herramientas necesarias para el mantenimiento y la reparación de la PC, desde la clonación de discos duros hasta la construcción de dispositivos multi boot. Por último, el quinto capítulo se enfoca en las PC gamer's y ofrece una guía completa para los entusiastas de los juegos, brindando un procedimiento paso a paso para construir su propio PC gamer. Este libro es valioso tanto para estudiantes de sistemas como para profesionales de la computación, ya que cubre temas fundamentales como la arquitectura y organización de computadoras, historia y evolución, el diseño de computadoras, la memoria, las herramientas de mantenimiento y reparación de computadoras, y cómo armar una computadora de mayor rendimiento para usuarios jugadores. En resumen, esta obra ofrece información útil y completa sobre la evolución de la computadora, desde sus inicios hasta la actualidad, y brinda herramientas y consejos prácticos para su uso y mantenimiento.

Subject:
Applied Science
Computer Science
Material Type:
Textbook
Provider:
Editorial Grupo AEA
Date Added:
05/17/2023
Handbook of Software Engineering Methods 2nd ed.
Conditional Remix & Share Permitted
CC BY-NC
Rating
0.0 stars

Software engineering is the art and science of using different methods to efficiently create extensible, sustainable programs that solve problems people care about.

I won’t tell you how to be a software engineer; You’ll learn that over time by doing it. Instead, this book is about software engineering methods: Ways people achieve specific objectives in software engineering—that can save your project. My hope is that, after reading this book (or parts of it), you’ll feel better equipped for software engineering.

Subject:
Applied Science
Computer Science
Engineering
Material Type:
Textbook
Provider:
OpenOregon
Author:
Lara Letaw
Date Added:
08/25/2021
Ingeniería del Software II: Implementación, Pruebas y Mantenimiento
Conditional Remix & Share Permitted
CC BY-NC-SA
Rating
0.0 stars

En este libro se investigó los procesos de implementación, pruebas y mantenimiento de la ingeniería del software y se documentó los diferentes tipos de pruebas de software para validar el correcto funcionamiento de un software, se documentó también los procesos de evolución de un software para lograr un correcto mantenimiento del software. Este libro tiene como objetivo aplicar los conceptos y teorías de validación del software con el fin de crear de software de calidad, confiable, que se encuentre disponible, protegido y seguro, para que el profesional de sistemas informáticos sea capaz de gestionar con eficiencia y en ambientes éticos y de responsabilidad proyectos inmersos en la creación software. Se investigó varios libros llegando a realizar un compendio de las partes más importantes y se llegó a la conclusión de que la ingeniería del software proporciona varias técnicas para la evaluación y validación del software y varias metodologías para el desarrollo de software confiable y seguro que el profesional puede utilizar dependiendo las diferentes necesidades, situaciones o proyectos a desarrollar.

Subject:
Applied Science
Computer Science
Material Type:
Textbook
Provider:
Editorial Grupo AEA
Date Added:
05/17/2023
Ingeniería del Software I: Requerimientos y Modelado del Software
Conditional Remix & Share Permitted
CC BY-NC-SA
Rating
0.0 stars

En este libro se investigó los fundamentos de la ingeniería del software y se documentó los conceptos básicos del software y los procesos para la creación de software, se documentó también cómo llevar a cabo un análisis de requerimientos de software, cuáles son los tipos de requerimientos, cómo obtenerlos, documentarlos, validarlos y modelarlos mediante diferentes tipos de diagramas. Este libro tiene como objetivo aplicar los conceptos y teorías de administración para la creación de software de calidad mediante las diferentes metodologías, técnicas y herramientas de la ingeniería del software para que el profesional de sistemas informáticos sea capaz de gestionar con eficiencia y en ambientes éticos y de responsabilidad proyectos inmersos en la creación software. Se investigó varios libros llegando a realizar un compendio de las partes más importantes y se llegó a la conclusión de que la ingeniería del software proporciona varias metodologías para el desarrollo del software y varios modelos para el diseño de software que el profesional puede utilizar dependiendo las diferentes necesidades o las diferentes situaciones o proyectos a desarrollar.

Subject:
Applied Science
Computer Science
Material Type:
Textbook
Provider:
Editorial Grupo AEA
Date Added:
04/01/2023
Introduction to Programming in Java
Conditional Remix & Share Permitted
CC BY-NC-SA
Rating
0.0 stars

This course is an introduction to software engineering, using the Java™ programming language. It covers concepts useful to 6.005. Students will learn the fundamentals of Java. The focus is on developing high quality, working software that solves real problems.
The course is designed for students with some programming experience, but if you have none and are motivated you will do fine. Students who have taken 6.005 should not take this course. Each class is composed of one hour of lecture and one hour of assisted lab work.
This course is offered during the Independent Activities Period (IAP), which is a special 4-week term at MIT that runs from the first week of January until the end of the month.

Subject:
Applied Science
Computer Science
Engineering
Material Type:
Full Course
Provider:
MIT
Provider Set:
MIT OpenCourseWare
Author:
Jones, Evan
Marcus, Adam
Wu, Eugene
Date Added:
01/01/2010
Laboratory in Software Engineering
Conditional Remix & Share Permitted
CC BY-NC-SA
Rating
0.0 stars

This course introduces concepts and techniques relevant to the production of large software systems. Students are taught a programming method based on the recognition and description of useful abstractions. Topics include modularity, specification, data abstraction, object modeling, design patterns, and testing. Students complete several programming projects of varying size, working individually and in groups.
Students are now introduced to software engineering in 6.005 Elements of Software Construction, which is available on OCW in two versions, as taught in Fall 2008 and Fall 2011.

Subject:
Applied Science
Computer Science
Engineering
Material Type:
Full Course
Provider:
MIT
Provider Set:
MIT OpenCourseWare
Author:
Devadas, Srini
Jackson, Daniel
Date Added:
09/01/2005
OER-UCLouvain: Software Maintenance and Evolution
Conditional Remix & Share Permitted
CC BY-NC-SA
Rating
0.0 stars

This set of slides, covering the topics of Software Maintenance and Evolution, are the course lectures of a course 
LINGI2252 “Software Maintenance and Evolution”, given by Prof. Kim Mens at UCLouvain, Belgium

Subject:
Applied Science
Computer Science
Material Type:
Activity/Lab
Provider:
Université catholique de Louvain
Provider Set:
OER-UCLOUVAIN
Author:
MENS, Kim
Date Added:
09/29/2019
Performance Engineering of Software Systems
Conditional Remix & Share Permitted
CC BY-NC-SA
Rating
0.0 stars

6.172 is an 18-unit class that provides a hands-on, project-based introduction to building scalable and high-performance software systems. Topics include performance analysis, algorithmic techniques for high performance, instruction-level optimizations, caching optimizations, parallel programming, and building scalable systems. The course programming language is C.

Subject:
Applied Science
Computer Science
Engineering
Material Type:
Full Course
Provider:
MIT
Provider Set:
MIT OpenCourseWare
Author:
Leiserson, Charles
Shun, Julian
Date Added:
09/01/2018
Robocraft Programming Competition
Conditional Remix & Share Permitted
CC BY-NC-SA
Rating
0.0 stars

The 6.370 Robocraft programming competition is a unique challenge that combines battle strategy and software engineering. In short, the objective is to write the best player program for the computer game Robocraft.

Subject:
Applied Science
Arts and Humanities
Career and Technical Education
Computer Science
Electronic Technology
Engineering
Graphic Arts
Material Type:
Full Course
Provider:
MIT
Provider Set:
MIT OpenCourseWare
Author:
Ernst, Michael
Date Added:
01/01/2005
Software Construction
Conditional Remix & Share Permitted
CC BY-NC-SA
Rating
0.0 stars

6.005 Software Construction introduces fundamental principles and techniques of software development, i.e., how to write software that is safe from bugs, easy to understand, and ready for change. The course includes problem sets and a final project. Important topics include specifications and invariants; testing; abstract data types; design patterns for object-oriented programming; concurrent programming and concurrency; and functional programming.
The 6.005 website homepage from Spring 2016, along with all course materials, is available to OpenCourseWare users.

Subject:
Applied Science
Computer Science
Engineering
Material Type:
Full Course
Provider:
MIT
Provider Set:
MIT OpenCourseWare
Author:
Goldman, Max
Miller, Robert
Date Added:
02/01/2016
Software Engineering Concepts
Conditional Remix & Share Permitted
CC BY-NC-SA
Rating
0.0 stars

This is a reading and discussion subject on issues in the engineering of software systems and software development project design. It includes the present state of software engineering, what has been tried in the past, what worked, what did not, and why. Topics may differ in each offering, but will be chosen from: the software process and lifecycle; requirements and specifications; design principles; testing, formal analysis, and reviews; quality management and assessment; product and process metrics; COTS and reuse; evolution and maintenance; team organization and people management; and software engineering aspects of programming languages.

Subject:
Applied Science
Business and Communication
Computer Science
Engineering
Material Type:
Full Course
Provider:
MIT
Provider Set:
MIT OpenCourseWare
Author:
Leveson, Nancy
Date Added:
09/01/2005
Software Engineering for Web Applications
Conditional Remix & Share Permitted
CC BY-NC-SA
Rating
0.0 stars

6.171 is a course for students who already have some programming and software engineering experience. The goal is to give students some experience in dealing with those challenges that are unique to Internet applications, such as:

concurrency;
unpredictable load;
security risks;
opportunity for wide-area distributed computing;
creating a reliable and stateful user experience on top of unreliable connections and stateless protocols;
extreme requirements and absurd development schedules;
requirements that change mid-way through a project, sometimes because of experience gained from testing with users;
user demands for a multi-modal interface.

Subject:
Applied Science
Arts and Humanities
Career and Technical Education
Computer Science
Electronic Technology
Engineering
Graphic Arts
Graphic Design
Material Type:
Full Course
Provider:
MIT
Provider Set:
MIT OpenCourseWare
Author:
Abelson, Harold
Greenspun, Philip
Date Added:
09/01/2003
Syllabus: Agile Software Development
Conditional Remix & Share Permitted
CC BY-NC-SA
Rating
0.0 stars

Syllabus for the course "CSCI 39549: Agile Software Development" delivered at Hunter College in Fall 2018 by Arylee McSweaney and Rebecca Sliter as part of the Tech-in-Residence Corps program.

Subject:
Applied Science
Computer Science
Material Type:
Syllabus
Date Added:
11/23/2018
Syllabus: Software Engineering
Conditional Remix & Share Permitted
CC BY-NC-SA
Rating
0.0 stars

Syllabus and materials for the course "CSC 322: Software Engineering" delivered at the City College of New York in Fall 2018 by William Chan as part of the Tech-in-Residence Corps program.

Subject:
Applied Science
Computer Science
Material Type:
Full Course
Date Added:
11/23/2018
Think Data Structures: Algorithms and Information Retrieval in Java
Conditional Remix & Share Permitted
CC BY-NC-SA
Rating
0.0 stars

Data structures and algorithms are among the most important inventions of the last 50 years, and they are fundamental tools software engineers need to know. But in my opinion, most of the books on these topics are too theoretical, too big, and too bottom-up:

*Too theoretical: Mathematical analysis of algorithms is based on simplifying assumptions that limit its usefulness in practice. Many presentations of this topic gloss over the simplifications and focus on the math. In this book I present the most practical subset of this material and eliminate the rest.

*Too big: Most books on these topics are at least 500 pages, and some are more than 1000. By focusing on the topics I think are most useful for software engineers, I kept this book under 250 pages.

*Too bottom-up: Many data structures books focus on how data structures work (the implementations), with less about how to use them (the interfaces). In this book, I go “top down”, starting with the interfaces. Readers learn to use the structures in the Java Collections Framework before getting into the details of how they work.

Finally, many present this material out of context and without motivation: it’s just one damn data structure after another!

I try to alleviate the boredom by organizing the topics around an application—web search—that uses data structures extensively, and is an interesting and important topic in its own right.

This application also motivates some topics that are not usually covered in an introductory data structures class, including persistent data structures, with Redis, and streaming algorithms.

I have made difficult decisions about what to leave out, but I have made some compromises. I include a few topics that most readers will never use, but that they might be expected to know, possibly in a technical interview. For these topics, I present both the conventional wisdom as well as my reasons to be skeptical.

This book also presents basic aspects of software engineering practice, including version control and unit testing. Each chapter ends with an exercise that allows readers to apply what they have learned. Each exercise includes automated tests that check the solution. And for most exercises, I present my solution at the beginning of the next chapter.

This book is intended for college students in computer science and related fields, as well as professional software engineers, people training in software engineering, and people preparing for technical interviews.

I assume that the reader knows Java at an intermediate level, but I explain some Java features along the way, and provide pointers to supplementary material.

People who have read Think Java or Head First Java are prepared for this book.

Subject:
Applied Science
Computer Science
Material Type:
Textbook
Provider:
Green Tea Press
Author:
Allen Downey
Date Added:
01/01/2016
Unix Tools: Data, Software and Production Engineering
Conditional Remix & Share Permitted
CC BY-NC-SA
Rating
0.0 stars

Processing information is the hallmark of all modern organizations, which are increasingly digital: absorbing, processing and generating information is a key element of their business.
Being able to interact flexibly and efficiently with the underlying data and software systems is an indispensable skill. Knowledge of the Unix shell and its command-line tools boosts the effectiveness and productivity of software developers, IT professionals, and data analysts.

The Unix tools were designed, written, actively used and refined by the team that defined the modern computing landscape. They allow the performance of almost any imaginable computing task quickly and efficiently by judiciously combining key powerful concepts. The power of Unix tools for exploring, prototyping and implementing big data processing workflows, and software engineering tasks remains unmatched. Unix tools, running on hardware ranging from tiny IoT platforms to supercomputers, uniquely allow an interactive, explorative programming style, which is ideal for the efficient solution of many of the engineering and business analytics problems that we face every day.

Through the use of Unix tools:
- Software developers can quickly explore and modify code, data, and tests.
- IT professionals can scrutinize log files, network traces, performance figures, filesystems and the behavior of processes.
- Data analysts can extract, transform, filter, process, load, and summarize huge data sets.

The course is uniquely based on carefully-selected, interactive walk-through examples that demonstrate how each command operates in practice. The examples that we use involve problems that engineers and analysts face every day.

Subject:
Applied Science
Computer Science
Engineering
Material Type:
Full Course
Provider:
Delft University of Technology
Provider Set:
Delft University OpenCourseWare
Author:
Diomidis Spinellis
Date Added:
01/16/2023