Updating search results...

Search Resources

5 Results

View
Selected filters:
  • software-engineering
Robocraft Programming Competition, January (IAP) 2005
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. The course is offered during MIT's Independent Activities Period (IAP) - a special 4-week term that runs the full month of January.

Subject:
Computer Science
Information Technology
Material Type:
Full Course
Provider:
MIT
Provider Set:
MIT OpenCourseWare
Author:
Ernst, Michael Dean
Date Added:
01/01/2005
Software Engineering Concepts, Fall 2005
Conditional Remix & Share Permitted
CC BY-NC-SA
Rating
0.0 stars

A reading and discussion subject on advanced topics in the engineering of software systems. Focus on software development. Topics differ but are chosen from: software process and lifecycle; requirements development, specification and analysis; 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; software engineering aspects of programming languages; and software psychology. Prerequisite is basic knowledge of programming and an introductory class in software engineering. The second prerequisite can be waived with permission of the instructor and additional background reading.

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

Computation over unreliable and anonymous protocols such as the World Wide Web. Problems of persistence, concurrency control, transactions, and transactions across multiple servers. The relational database management system as a tool for attacking these problems. Students work in small mentored teams on diverse projects. This 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:
Computer Science
Information Technology
Material Type:
Full Course
Provider:
MIT
Provider Set:
MIT OpenCourseWare
Author:
Greenspun, Philip
Date Added:
01/01/2003
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:
Computer Science
Information Technology
Material Type:
Textbook
Provider:
Green Tea Press
Author:
Allen Downey
Date Added:
01/01/2016