Cool Software Engineering Projects

Advertisement



  cool software engineering projects: Ship it! Jared Richardson, William A. Gwaltney, 2005-06-01 Ship It! is a collection of tips that show the tools andtechniques a successful project team has to use, and how to use themwell. You'll get quick, easy-to-follow advice on modernpractices: which to use, and when they should be applied. This bookavoids current fashion trends and marketing hype; instead, readersfind page after page of solid advice, all tried and tested in thereal world. Aimed at beginning to intermediate programmers, Ship It! will show you: Which tools help, and which don't How to keep a project moving Approaches to scheduling that work How to build developers as well as product What's normal on a project, and what's not How to manage managers, end-users and sponsors Danger signs and how to fix them Few of the ideas presented here are controversial or extreme; most experiencedprogrammers will agree that this stuff works. Yet 50 to 70 percent of allproject teams in the U.S. aren't able to use even these simple, well-acceptedpractices effectively. This book will help you get started. Ship It! begins by introducing the common technicalinfrastructure that every project needs to get the job done. Readerscan choose from a variety of recommended technologies according totheir skills and budgets. The next sections outline the necessarysteps to get software out the door reliably, using well-accepted,easy-to-adopt, best-of-breed practices that really work. Finally, and most importantly, Ship It! presents commonproblems that teams face, then offers real-world advice on how tosolve them.
  cool software engineering projects: Software Project Survival Guide Steve McConnell, 1998 How to be sure your first important project isnþt your last.
  cool software engineering projects: Real-World Software Projects for Computer Science and Engineering Students Varun Gupta, Anh Nguyen-Duc, 2021-02-24 Developing projects outside of a classroom setting can be intimidating for students and is not always a seamless process. Real-World Software Projects for Computer Science and Engineering Students is a quick, easy source for tackling such issues. Filling a critical gap in the research literature, the book: Is ideal for academic project supervisors. Helps researchers conduct interdisciplinary research. Guides computer science students on undertaking and implementing research-based projects This book explains how to develop highly complex, industry-specific projects touching on real-world complexities of software developments. It shows how to develop projects for students who have not yet had the chance to gain real-world experience, providing opportunity to become familiar with the skills needed to implement projects using standard development methodologies. The book is also a great source for teachers of undergraduate students in software engineering and computer science as it can help students prepare for the risk and uncertainty that is typical of software development in industrial settings.
  cool software engineering projects: The Productive Programmer Neal Ford, 2008-07-03 Anyone who develops software for a living needs a proven way to produce it better, faster, and cheaper. The Productive Programmer offers critical timesaving and productivity tools that you can adopt right away, no matter what platform you use. Master developer Neal Ford not only offers advice on the mechanics of productivity-how to work smarter, spurn interruptions, get the most out your computer, and avoid repetition-he also details valuable practices that will help you elude common traps, improve your code, and become more valuable to your team. You'll learn to: Write the test before you write the code Manage the lifecycle of your objects fastidiously Build only what you need now, not what you might need later Apply ancient philosophies to software development Question authority, rather than blindly adhere to standards Make hard things easier and impossible things possible through meta-programming Be sure all code within a method is at the same level of abstraction Pick the right editor and assemble the best tools for the job This isn't theory, but the fruits of Ford's real-world experience as an Application Architect at the global IT consultancy ThoughtWorks. Whether you're a beginner or a pro with years of experience, you'll improve your work and your career with the simple and straightforward principles in The Productive Programmer.
  cool software engineering projects: Software Engineering at Google Titus Winters, Tom Manshreck, Hyrum Wright, 2020-02-28 Today, software engineers need to know not only how to program effectively but also how to develop proper engineering practices to make their codebase sustainable and healthy. This book emphasizes this difference between programming and software engineering. How can software engineers manage a living codebase that evolves and responds to changing requirements and demands over the length of its life? Based on their experience at Google, software engineers Titus Winters and Hyrum Wright, along with technical writer Tom Manshreck, present a candid and insightful look at how some of the worldâ??s leading practitioners construct and maintain software. This book covers Googleâ??s unique engineering culture, processes, and tools and how these aspects contribute to the effectiveness of an engineering organization. Youâ??ll explore three fundamental principles that software organizations should keep in mind when designing, architecting, writing, and maintaining code: How time affects the sustainability of software and how to make your code resilient over time How scale affects the viability of software practices within an engineering organization What trade-offs a typical engineer needs to make when evaluating design and development decisions
  cool software engineering projects: Soft Skills John Sonmez, 2020-11 For most software developers, coding is the fun part. The hard bits are dealing with clients, peers, and managers and staying productive, achieving financial security, keeping yourself in shape, and finding true love. This book is here to help. Soft Skills: The Software Developer's Life Manual is a guide to a well-rounded, satisfying life as a technology professional. In it, developer and life coach John Sonmez offers advice to developers on important subjects like career and productivity, personal finance and investing, and even fitness and relationships. Arranged as a collection of 71 short chapters, this fun listen invites you to dip in wherever you like. A Taking Action section at the end of each chapter tells you how to get quick results. Soft Skills will help make you a better programmer, a more valuable employee, and a happier, healthier person.
  cool software engineering projects: Software Modeling and Design Hassan Gomaa, 2011-02-21 This book covers all you need to know to model and design software applications from use cases to software architectures in UML and shows how to apply the COMET UML-based modeling and design method to real-world problems. The author describes architectural patterns for various architectures, such as broker, discovery, and transaction patterns for service-oriented architectures, and addresses software quality attributes including maintainability, modifiability, testability, traceability, scalability, reusability, performance, availability, and security. Complete case studies illustrate design issues for different software architectures: a banking system for client/server architecture, an online shopping system for service-oriented architecture, an emergency monitoring system for component-based software architecture, and an automated guided vehicle for real-time software architecture. Organized as an introduction followed by several short, self-contained chapters, the book is perfect for senior undergraduate or graduate courses in software engineering and design, and for experienced software engineers wanting a quick reference at each stage of the analysis, design, and development of large-scale software systems.
  cool software engineering projects: Applied Software Project Management Andrew Stellman, Jennifer Greene, 2005-11-18 If you're looking for solid, easy-to-follow advice on estimation, requirements gathering, managing change, and more, you can stop now: this is the book for you.--Scott Berkun, Author of The Art of Project Management What makes software projects succeed? It takes more than a good idea and a team of talented programmers. A project manager needs to know how to guide the team through the entire software project. There are common pitfalls that plague all software projects and rookie mistakes that are made repeatedly--sometimes by the same people! Avoiding these pitfalls is not hard, but it is not necessarily intuitive. Luckily, there are tried and true techniques that can help any project manager. In Applied Software Project Management, Andrew Stellman and Jennifer Greene provide you with tools, techniques, and practices that you can use on your own projects right away. This book supplies you with the information you need to diagnose your team's situation and presents practical advice to help you achieve your goal of building better software. Topics include: Planning a software project Helping a team estimate its workload Building a schedule Gathering software requirements and creating use cases Improving programming with refactoring, unit testing, and version control Managing an outsourced project Testing software Jennifer Greene and Andrew Stellman have been building software together since 1998. Andrew comes from a programming background and has managed teams of requirements analysts, designers, and developers. Jennifer has a testing background and has managed teams of architects, developers, and testers. She has led multiple large-scale outsourced projects. Between the two of them, they have managed every aspect of software development. They have worked in a wide range of industries, including finance, telecommunications, media, nonprofit, entertainment, natural-language processing, science, and academia. For more information about them and this book, visit stellman-greene.com
  cool software engineering projects: Software Engineering Best Practices Capers Jones, 2009-11-05 Proven techniques for software engineering success This in-depth volume examines software engineering topics that are not covered elsewhere: the question of why software engineering has developed more than 2,500 programming languages; problems with traditional definitions of software quality; and problems with common metrics, lines of code, and cost per defect that violate standard economic assumptions. The book notes that a majority of new projects are actually replacements for legacy applications, illustrating that data mining for lost requirements should be a standard practice. Difficult social engineering issues are also covered, such as how to minimize harm from layoffs and downsizing. Software Engineering Best Practices explains how to effectively plan, size, schedule, and manage software projects of all types, using solid engineering procedures. It details proven methods, from initial requirements through 20 years of maintenance. Portions of the book have been extensively reviewed by key engineers from top companies, including IBM, Microsoft, Unisys, and Sony. Manage Agile, hierarchical, matrix, and virtual software development teams Optimize software quality using JAD, OFD, TSP, static analysis, inspections, and other methods with proven success records Use high-speed functional metrics to assess productivity and quality levels Plan optimal organization, from small teams through more than 1,000 personnel
  cool software engineering projects: Agile Project Management with Kanban Eric Brechner, 2015 With Kanban, every minute you spend on a software project can add value for customers. One book can help you achieve this goal: Agile Project Management with Kanban. Author Eric Brechner pioneered Kanban within the Xbox engineering team at Microsoft. Now he shows you exactly how to make it work for your team. Think of this book as {28}Kanban in a box.
  cool software engineering projects: Requirements Engineering and Management for Software Development Projects Murali Chemuturi, 2012-09-27 Requirements Engineering and Management for Software Development Projects presents a complete guide on requirements for software development including engineering, computer science and management activities. It is the first book to cover all aspects of requirements management in software development projects. This book introduces the understanding of the requirements, elicitation and gathering, requirements analysis, verification and validation of the requirements, establishment of requirements, different methodologies in brief, requirements traceability and change management among other topics. The best practices, pitfalls, and metrics used for efficient software requirements management are also covered. Intended for the professional market, including software engineers, programmers, designers and researchers, this book is also suitable for advanced-level students in computer science or engineering courses as a textbook or reference.
  cool software engineering projects: Building Mobile Apps at Scale Gergely Orosz, 2021-04-06 While there is a lot of appreciation for backend and distributed systems challenges, there tends to be less empathy for why mobile development is hard when done at scale. This book collects challenges engineers face when building iOS and Android apps at scale, and common ways to tackle these. By scale, we mean having numbers of users in the millions and being built by large engineering teams. For mobile engineers, this book is a blueprint for modern app engineering approaches. For non-mobile engineers and managers, it is a resource with which to build empathy and appreciation for the complexity of world-class mobile engineering. The book covers iOS and Android mobile app challenges on these dimensions: Challenges due to the unique nature of mobile applications compared to the web, and to the backend. App complexity challenges. How do you deal with increasingly complicated navigation patterns? What about non-deterministic event combinations? How do you localize across several languages, and how do you scale your automated and manual tests? Challenges due to large engineering teams. The larger the mobile team, the more challenging it becomes to ensure a consistent architecture. If your company builds multiple apps, how do you balance not rewriting everything from scratch while moving at a fast pace, over waiting on centralized teams? Cross-platform approaches. The tooling to build mobile apps keeps changing. New languages, frameworks, and approaches that all promise to address the pain points of mobile engineering keep appearing. But which approach should you choose? Flutter, React Native, Cordova? Native apps? Reuse business logic written in Kotlin, C#, C++ or other languages? What engineering approaches do world-class mobile engineering teams choose in non-functional aspects like code quality, compliance, privacy, compliance, or with experimentation, performance, or app size?
  cool software engineering projects: Facts and Fallacies of Software Engineering Robert L. Glass, 2003 Regarding the controversial and thought-provoking assessments in this handbook, many software professionals might disagree with the authors, but all will embrace the debate. Glass identifies many of the key problems hampering success in this field. Each fact is supported by insightful discussion and detailed references.
  cool software engineering projects: Effective Software Project Management Robert K. Wysocki, 2010-09-29 Why another book on software project management? For some time, the fields of project management, computer science, and software development have been growing rapidly and concurrently. Effective support for the enterprise demands the merging of these efforts into a coordinated discipline, one that incorporates best practices from both systems development and project management life cycles. Robert K. Wysocki creates that discipline in this book--a ready reference for professionals and consultants as well as a textbook for students of computer information systems and project management. By their very nature, software projects defy a one size fits all approach. In these pages you will learn to apply best-practice principles while maintaining the flexibility that's essential for successful software development. Learn how to make the planning process fit the need * Understand how and why software development must be planned on a certainty-to-uncertainty continuum * Categorize your projects on a four-quadrant model * Learn when to use each of the five SDPM strategies--Linear, Incremental, Iterative, Adaptive, and Extreme * Explore the benefits of each strategic model and what types of projects it supports best * Recognize the activities that go into the Scoping, Planning, Launching, Monitoring/Controlling, and Closing phases of each strategy * Apply this knowledge to the specific projects you manage * Get a clear picture of where you are and how to get where you want to go
  cool software engineering projects: Software Design Murali Chemuturi, 2018-04-09 This book is perhaps the first attempt to give full treatment to the topic of Software Design. It will facilitate the academia as well as the industry. This book covers all the topics of software design including the ancillary ones.
  cool software engineering projects: Real-World Software Development Raoul-Gabriel Urma, Richard Warburton, 2019-12-02 Explore the latest Java-based software development techniques and methodologies through the project-based approach in this practical guide. Unlike books that use abstract examples and lots of theory, Real-World Software Development shows you how to develop several relevant projects while learning best practices along the way. With this engaging approach, junior developers capable of writing basic Java code will learn about state-of-the-art software development practices for building modern, robust and maintainable Java software. You’ll work with many different software development topics that are often excluded from software develop how-to references. Featuring real-world examples, this book teaches you techniques and methodologies for functional programming, automated testing, security, architecture, and distributed systems.
  cool software engineering projects: Become an Effective Software Engineering Manager James Stanier, 2020-06-09 Software startups make global headlines every day. As technology companies succeed and grow, so do their engineering departments. In your career, you'll may suddenly get the opportunity to lead teams: to become a manager. But this is often uncharted territory. How can you decide whether this career move is right for you? And if you do, what do you need to learn to succeed? Where do you start? How do you know that you're doing it right? What does it even mean? And isn't management a dirty word? This book will share the secrets you need to know to manage engineers successfully. Going from engineer to manager doesn't have to be intimidating. Engineers can be managers, and fantastic ones at that. Cast aside the rhetoric and focus on practical, hands-on techniques and tools. You'll become an effective and supportive team leader that your staff will look up to. Start with your transition to being a manager and see how that compares to being an engineer. Learn how to better organize information, feel productive, and delegate, but not micromanage. Discover how to manage your own boss, hire and fire, do performance and salary reviews, and build a great team. You'll also learn the psychology: how to ship while keeping staff happy, coach and mentor, deal with deadline pressure, handle sensitive information, and navigate workplace politics. Consider your whole department. How can you work with other teams to ensure best practice? How do you help form guilds and committees and communicate effectively? How can you create career tracks for individual contributors and managers? How can you support flexible and remote working? How can you improve diversity in the industry through your own actions? This book will show you how. Great managers can make the world a better place. Join us.
  cool software engineering projects: Software Engineering with Microsoft Visual Studio Team System Juan J. Perez, Sam Guckenheimer, 2006-05-09 Software Engineering with Microsoft Visual Studio Team System is written for any software team that is considering running a software project using Visual Studio Team System (VSTS), or evaluating modern software development practices for its use. It is about the value-up paradigm of software development, which forms the basis of VSTS: its guiding ideas, why they are presented in certain ways, and how they fit into the process of managing the software lifecycle. This book is the next best thing to having an onsite coach who can lead the team through a consistent set of processes. Sam Guckenheimer has been the chief customer advocate for VSTS, responsible for its end-to-end external design. He has written this book as a framework for thinking about software projects in a way that can be directly tooled by VSTS. It presents essential theory and practical examples to describe a realistic process for IT projects. Readers will learn what they need to know to get started with VSTS, including The role of the value-up paradigm (versus work-down) in the software development lifecycle, and the meanings and importance of “flow” The use of MSF for Agile Software Development and MSF for CMMI Process Improvement Work items for planning and managing backlog in VSTS Multidimensional, daily metrics to maintain project flow and enable estimation Creating requirements using personas and scenarios Project management with iterations, trustworthy transparency, and friction-free metrics Architectural design using a value-up view, service-oriented architecture, constraints, and qualities of service Development with unit tests, code coverage, profiling, and build automation Testing for customer value with scenarios, qualities of service, configurations, data, exploration, and metrics Effective bug reporting and bug assessment Troubleshooting a project: recognizing and correcting common pitfalls and antipatterns This is a book that any team using or considering VSTS should read.
  cool software engineering projects: Agile Software Development Thomas Stober, Uwe Hansmann, 2009-10-03 Software Development is moving towards a more agile and more flexible approach. It turns out that the traditional waterfall model is not supportive in an environment where technical, financial and strategic constraints are changing almost every day. But what is agility? What are today’s major approaches? And especially: What is the impact of agile development principles on the development teams, on project management and on software architects? How can large enterprises become more agile and improve their business processes, which have been existing since many, many years? What are the limitations of Agility? And what is the right balance between reliable structures and flexibility? This book will give answers to these questions. A strong emphasis will be on real life project examples, which describe how development teams have moved from a waterfall model towards an Agile Software Development approach.
  cool software engineering projects: Software Development Failures Kweku Ewusi-Mensah, 2003-08-01 An empirically based study of why software development failures happen, and the lessons we can learn. Failed or abandoned software development projects cost the U.S. economy alone billions of dollars a year. In Software Development Failures, Kweku Ewusi-Mensah offers an empirically grounded study that suggests why these failures happen and how they can be avoided. Case studies analyzed include the well-known Confirm travel industry reservation program, FoxMeyer's Delta, the IRS's Tax System Modernization, the Denver International Airport's Baggage Handling System, and CODIS. It has been estimated that one-third of software development projects fail or are abandoned outright because of cost overruns, delays, and reduced functionality. Some consider this an acceptable risk—that it is simply the cost of doing business. Ewusi-Mensah argues that understanding the factors involved in development failures will help developers and businesses bring down the rate of software failure and abandoned projects. Ewusi-Mensah explores the reasons software development projects are vulnerable to failure and why issues of management and organization are at the core of any failed project. He examines these projects not from a deterministically technical perspective but as part of a complex technical and social process; he proposes a framework of factors that contribute to the decision to abandon a project and enumerates the risks and uncertainties inherent in each phase of a project's life cycle. Exploring the multiplicity of factors that make software development risky, he presents empirical data that is reinforced by analyses of the reported cases. He emphasizes the role of the user in the development process and considers the effect of organizational politics on a project. Finally, he considers what lessons can be learned from past failures and how software development practices can be improved.
  cool software engineering projects: Software Project Management Ashfaque Ahmed, 2016-04-19 To build reliable, industry-applicable software products, large-scale software project groups must continuously improve software engineering processes to increase product quality, facilitate cost reductions, and adhere to tight schedules. Emphasizing the critical components of successful large-scale software projects, Software Project Management: A
  cool software engineering projects: Managing Iterative Software Development Projects Kurt Bittner, Ian Spence, 2006-06-27 The Practical, Start-to-Finish Guide to Planning and Leading Iterative Software Projects Iterative processes have gained widespread acceptance because they help software developers reduce risk and cost, manage change, improve productivity, and deliver more effective, timely solutions. But conventional project management techniques don’t work well in iterative projects, and newer iterative management techniques have been poorly documented. Managing Iterative Software Development Projects is the solution: a relentlessly practical guide to planning, organizing, estimating, staffing, and managing any iterative project, from start to finish. Leading iterative development experts Kurt Bittner and Ian Spence introduce a proven, scalable approach that improves both agility and control at the same time, satisfying the needs of developers, managers, and the business alike. Their techniques are easy to understand, and easy to use with any iterative methodology, from Rational Unified Process to Extreme Programming to the Microsoft Solutions Framework. Whatever your role–team leader, program manager, project manager, developer, sponsor, or user representative–this book will help you Understand the key drivers of success in iterative projects Leverage “time boxing” to define project lifecycles and measure results Use Unified Process phases to facilitate controlled iterative development Master core concepts of iterative project management, including layering and evolution Create project roadmaps, including release plans Discover key patterns of risk management, estimation, organization, and iteration planning Understand what must be controlled centrally, and what you can safely delegate Transition smoothly to iterative processes Scale iterative project management from the smallest to the largest projects Align software investments with the needs of the business Whether you are interested in software development using RUP, OpenUP, or other agile processes, this book will help you reduce the anxiety and cost associated with software improvement by providing an easy, non-intrusive path toward improved results–without overwhelming you and your team.
  cool software engineering projects: Risk Management in Software Development Projects John McManus, 2012-06-25 Very few software projects are completed on time, on budget, and to their original specification causing the global IT software industry to lose billions each year in project overruns and reworking software. Research supports that projects usually fail because of management mistakes rather than technical mistakes. Risk Management in Software Development Projects focuses on what the practitioner needs to know about risk in the pursuit of delivering software projects. Risk Management in Software Development Projects will help all practicing IT Project Managers and IT Managers understand: * Key components of the risk management process * Current processes and best practices for software risk identification * Techniques of risk analysis * Risk Planning * Management processes and be able to develop the process for various organizations
  cool software engineering projects: Head First Software Development Dan Pilone, Russ Miles, 2008-12-26 Provides information on successful software development, covering such topics as customer requirements, task estimates, principles of good design, dealing with source code, system testing, and handling bugs.
  cool software engineering projects: Modern Software Engineering David Farley, 2021-11-16 Improve Your Creativity, Effectiveness, and Ultimately, Your Code In Modern Software Engineering, continuous delivery pioneer David Farley helps software professionals think about their work more effectively, manage it more successfully, and genuinely improve the quality of their applications, their lives, and the lives of their colleagues. Writing for programmers, managers, and technical leads at all levels of experience, Farley illuminates durable principles at the heart of effective software development. He distills the discipline into two core exercises: learning and exploration and managing complexity. For each, he defines principles that can help you improve everything from your mindset to the quality of your code, and describes approaches proven to promote success. Farley's ideas and techniques cohere into a unified, scientific, and foundational approach to solving practical software development problems within realistic economic constraints. This general, durable, and pervasive approach to software engineering can help you solve problems you haven't encountered yet, using today's technologies and tomorrow's. It offers you deeper insight into what you do every day, helping you create better software, faster, with more pleasure and personal fulfillment. Clarify what you're trying to accomplish Choose your tools based on sensible criteria Organize work and systems to facilitate continuing incremental progress Evaluate your progress toward thriving systems, not just more legacy code Gain more value from experimentation and empiricism Stay in control as systems grow more complex Achieve rigor without too much rigidity Learn from history and experience Distinguish good new software development ideas from bad ones Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.
  cool software engineering projects: Project to Product Mik Kersten, 2018-11-20 As tech giants and startups disrupt every market, those who master large-scale software delivery will define the economic landscape of the 21st century, just as the masters of mass production defined the landscape in the 20th. Unfortunately, business and technology leaders are woefully ill-equipped to solve the problems posed by digital transformation. At the current rate of disruption, half of S&P 500 companies will be replaced in the next ten years. A new approach is needed. In Project to Product, Value Stream Network pioneer and technology business leader Dr. Mik Kersten introduces the Flow Framework—a new way of seeing, measuring, and managing software delivery. The Flow Framework will enable your company’s evolution from project-oriented dinosaur to product-centric innovator that thrives in the Age of Software. If you’re driving your organization’s transformation at any level, this is the book for you.
  cool software engineering projects: Requirements in Engineering Projects João M. Fernandes, Ricardo J. Machado, 2015-07-18 This book focuses on various topics related to engineering and management of requirements, in particular elicitation, negotiation, prioritisation, and documentation (whether with natural languages or with graphical models). The book provides methods and techniques that help to characterise, in a systematic manner, the requirements of the intended engineering system. It was written with the goal of being adopted as the main text for courses on requirements engineering, or as a strong reference to the topics of requirements in courses with a broader scope. It can also be used in vocational courses, for professionals interested in the software and information systems domain. Readers who have finished this book will be able to: - establish and plan a requirements engineering process within the development of complex engineering systems; - define and identify the types of relevant requirements in engineering projects; - choose and apply the most appropriate techniques to elicit the requirements of a given system; - conduct and manage negotiation and prioritisation processes for the requirements of a given engineering system; - document the requirements of the system under development, either in natural language or with graphical and formal models. Each chapter includes a set of exercises.
  cool software engineering projects: Project-based Software Engineering Evelyn Stiller, Cathie LeBlanc, 2002 Project-Based Software Engineering is the first book to provide hands-on process and practice in software engineering essentials for the beginner. The book presents steps through the software development life cycle and two running case studies that develop as the steps are presented. Running parallel to the process presentation and case studies, the book supports a semester-long software development project. This book focuses on object-oriented software development, and supports the conceptualization, analysis, design and implementation of an object-oriented project. It is mostly language-independent, with necessary code examples in Java. A subset of UML is used, with the notation explained as needed to support the readers' work. Two running case studies a video game and a library check out system show the development of a software project. Both have sample deliverables and thus provide the reader with examples of the type of work readers are to create. This book is appropriate for readers looking to gain experience in project analysis, design implementation, and testing.
  cool software engineering projects: Code Complete Steve McConnell, 2004-06-09 Widely considered one of the best practical guides to programming, Steve McConnell’s original CODE COMPLETE has been helping developers write better software for more than a decade. Now this classic book has been fully updated and revised with leading-edge practices—and hundreds of new code samples—illustrating the art and science of software construction. Capturing the body of knowledge available from research, academia, and everyday commercial practice, McConnell synthesizes the most effective techniques and must-know principles into clear, pragmatic guidance. No matter what your experience level, development environment, or project size, this book will inform and stimulate your thinking—and help you build the highest quality code. Discover the timeless techniques and strategies that help you: Design for minimum complexity and maximum creativity Reap the benefits of collaborative development Apply defensive programming techniques to reduce and flush out errors Exploit opportunities to refactor—or evolve—code, and do it safely Use construction practices that are right-weight for your project Debug problems quickly and effectively Resolve critical construction issues early and correctly Build quality into the beginning, middle, and end of your project
  cool software engineering projects: Managing Software Development Projects Neal Whitten, 1995-05-08 This thoroughly updated edition of the bestselling original is short on theory and long on practical, hands-on advice. Packed with realistic scenarios and case studies, this book shows readers how to avoid most of the problems encountered in the software development process.
  cool software engineering projects: A Philosophy of Software Design John K. Ousterhout, 2021 This book addresses the topic of software design: how to decompose complex software systems into modules (such as classes and methods) that can be implemented relatively independently. The book first introduces the fundamental problem in software design, which is managing complexity. It then discusses philosophical issues about how to approach the software design process and it presents a collection of design principles to apply during software design. The book also introduces a set of red flags that identify design problems. You can apply the ideas in this book to minimize the complexity of large software systems, so that you can write software more quickly and cheaply.--Amazon.
  cool software engineering projects: Optimized C++ Kurt Guntheroth, 2016-04-27 In today’s fast and competitive world, a program’s performance is just as important to customers as the features it provides. This practical guide teaches developers performance-tuning principles that enable optimization in C++. You’ll learn how to make code that already embodies best practices of C++ design run faster and consume fewer resources on any computer—whether it’s a watch, phone, workstation, supercomputer, or globe-spanning network of servers. Author Kurt Guntheroth provides several running examples that demonstrate how to apply these principles incrementally to improve existing code so it meets customer requirements for responsiveness and throughput. The advice in this book will prove itself the first time you hear a colleague exclaim, “Wow, that was fast. Who fixed something?” Locate performance hot spots using the profiler and software timers Learn to perform repeatable experiments to measure performance of code changes Optimize use of dynamically allocated variables Improve performance of hot loops and functions Speed up string handling functions Recognize efficient algorithms and optimization patterns Learn the strengths—and weaknesses—of C++ container classes View searching and sorting through an optimizer’s eye Make efficient use of C++ streaming I/O functions Use C++ thread-based concurrency features effectively
  cool software engineering projects: Deep Learning for Coders with fastai and PyTorch Jeremy Howard, Sylvain Gugger, 2020-06-29 Deep learning is often viewed as the exclusive domain of math PhDs and big tech companies. But as this hands-on guide demonstrates, programmers comfortable with Python can achieve impressive results in deep learning with little math background, small amounts of data, and minimal code. How? With fastai, the first library to provide a consistent interface to the most frequently used deep learning applications. Authors Jeremy Howard and Sylvain Gugger, the creators of fastai, show you how to train a model on a wide range of tasks using fastai and PyTorch. You’ll also dive progressively further into deep learning theory to gain a complete understanding of the algorithms behind the scenes. Train models in computer vision, natural language processing, tabular data, and collaborative filtering Learn the latest deep learning techniques that matter most in practice Improve accuracy, speed, and reliability by understanding how deep learning models work Discover how to turn your models into web applications Implement deep learning algorithms from scratch Consider the ethical implications of your work Gain insight from the foreword by PyTorch cofounder, Soumith Chintala
  cool software engineering projects: Fifty Quick Ideas to Improve Your User Stories Gojko Adzic, David Evans, 2014-10-15 This book will help you write better stories, spot and fix common issues, split stories so that they are smaller but still valuable, and deal with difficult stuff like crosscutting concerns, long-term effects and non-functional requirements. Above all, this book will help you achieve the promise of agile and iterative delivery: to ensure that the right stuff gets delivered through productive discussions between delivery team members and business stakeholders. Who is this book for? This is a book for anyone working in an iterative delivery environment, doing planning with user stories. The ideas in this book are useful both to people relatively new to user stories and those who have been working with them for years. People who work in software delivery, regardless of their role, will find plenty of tips for engaging stakeholders better and structuring iterative plans more effectively. Business stakeholders working with software teams will discover how to provide better information to their delivery groups, how to set better priorities and how to outrun the competition by achieving more with less software. What's inside? Unsurprisingly, the book contains exactly fifty ideas. They are grouped into five major parts: - Creating stories: This part deals with capturing information about stories before they get accepted into the delivery pipeline. You'll find ideas about what kind of information to note down on story cards and how to quickly spot potential problems. - Planning with stories: This part contains ideas that will help you manage the big-picture view, set milestones and organise long-term work. - Discussing stories: User stories are all about effective conversations, and this part contains ideas to improve discussions between delivery teams and business stakeholders. You'll find out how to discover hidden assumptions and how to facilitate effective conversations to ensure shared understanding. - Splitting stories: The ideas in this part will help you deal with large and difficult stories, offering several strategies for dividing them into smaller chunks that will help you learn fast and deliver value quickly. - Managing iterative delivery: This part contains ideas that will help you work with user stories in the short and mid term, manage capacity, prioritise and reduce scope to achieve the most with the least software. About the authors: Gojko Adzic is a strategic software delivery consultant who works with ambitious teams to improve the quality of their software products and processes. Gojko's book Specification by Example was awarded the #2 spot on the top 100 agile books for 2012 and won the Jolt Award for the best book of 2012. In 2011, he was voted by peers as the most influential agile testing professional, and his blog won the UK agile award for the best online publication in 2010. David Evans is a consultant, coach and trainer specialising in the field of Agile Quality. David helps organisations with strategic process improvement and coaches teams on effective agile practice. He is regularly in demand as a conference speaker and has had several articles published in international journals.
  cool software engineering projects: The Nature of Software Development Ron Jeffries, 2015-02-19 You need to get value from your software project. You need it free, now, and perfect. We can't get you there, but we can help you get to cheaper, sooner, and better. This book leads you from the desire for value down to the specific activities that help good Agile projects deliver better software sooner, and at a lower cost. Using simple sketches and a few words, the author invites you to follow his path of learning and understanding from a half century of software development and from his engagement with Agile methods from their very beginning. The book describes software development, starting from our natural desire to get something of value. Each topic is described with a picture and a few paragraphs. You're invited to think about each topic; to take it in. You'll think about how each step into the process leads to the next. You'll begin to see why Agile methods ask for what they do, and you'll learn why a shallow implementation of Agile can lead to only limited improvement. This is not a detailed map, nor a step-by-step set of instructions for building the perfect project. There is no map or instructions that will do that for you. You need to build your own project, making it a bit more perfect every day. To do that effectively, you need to build up an understanding of the whole process. This book points out the milestones on your journey of understanding the nature of software development done well. It takes you to a location, describes it briefly, and leaves you to explore and fill in your own understanding. What You Need: You'll need your Standard Issue Brain, a bit of curiosity, and a desire to build your own understanding rather than have someone else's detailed ideas poured into your head.
  cool software engineering projects: Drawdown Paul Hawken, 2017-04-18 • New York Times bestseller • The 100 most substantive solutions to reverse global warming, based on meticulous research by leading scientists and policymakers around the world “At this point in time, the Drawdown book is exactly what is needed; a credible, conservative solution-by-solution narrative that we can do it. Reading it is an effective inoculation against the widespread perception of doom that humanity cannot and will not solve the climate crisis. Reported by-effects include increased determination and a sense of grounded hope.” —Per Espen Stoknes, Author, What We Think About When We Try Not To Think About Global Warming “There’s been no real way for ordinary people to get an understanding of what they can do and what impact it can have. There remains no single, comprehensive, reliable compendium of carbon-reduction solutions across sectors. At least until now. . . . The public is hungry for this kind of practical wisdom.” —David Roberts, Vox “This is the ideal environmental sciences textbook—only it is too interesting and inspiring to be called a textbook.” —Peter Kareiva, Director of the Institute of the Environment and Sustainability, UCLA In the face of widespread fear and apathy, an international coalition of researchers, professionals, and scientists have come together to offer a set of realistic and bold solutions to climate change. One hundred techniques and practices are described here—some are well known; some you may have never heard of. They range from clean energy to educating girls in lower-income countries to land use practices that pull carbon out of the air. The solutions exist, are economically viable, and communities throughout the world are currently enacting them with skill and determination. If deployed collectively on a global scale over the next thirty years, they represent a credible path forward, not just to slow the earth’s warming but to reach drawdown, that point in time when greenhouse gases in the atmosphere peak and begin to decline. These measures promise cascading benefits to human health, security, prosperity, and well-being—giving us every reason to see this planetary crisis as an opportunity to create a just and livable world.
  cool software engineering projects: Building a Second Brain Tiago Forte, 2022-06-14 Building a second brain is getting things done for the digital age. It's a ... productivity method for consuming, synthesizing, and remembering the vast amount of information we take in, allowing us to become more effective and creative and harness the unprecedented amount of technology we have at our disposal--
  cool software engineering projects: Managing and Leading Software Projects Richard E. Fairley, 2011-09-20 The book is organized around basic principles of software project management: planning and estimating, measuring and controlling, leading and communicating, and managing risk. Introduces software development methods, from traditional (hacking, requirements to code, and waterfall) to iterative (incremental build, evolutionary, agile, and spiral). Illustrates and emphasizes tailoring the development process to each project, with a foundation in the fundamentals that are true for all development methods. Topics such as the WBS, estimation, schedule networks, organizing the project team, and performance reporting are integrated, rather than being relegating to appendices. Each chapter in the book includes an appendix that covers the relevant topics from CMMI-DEV-v1.2, IEEE/ISO Standards 12207, IEEE Standard 1058, and the PMI® Body of Knowledge. (PMI is a registered mark of Project Management Institute, Inc.)
  cool software engineering projects: Ask a Manager Alison Green, 2018-05-01 From the creator of the popular website Ask a Manager and New York’s work-advice columnist comes a witty, practical guide to 200 difficult professional conversations—featuring all-new advice! There’s a reason Alison Green has been called “the Dear Abby of the work world.” Ten years as a workplace-advice columnist have taught her that people avoid awkward conversations in the office because they simply don’t know what to say. Thankfully, Green does—and in this incredibly helpful book, she tackles the tough discussions you may need to have during your career. You’ll learn what to say when • coworkers push their work on you—then take credit for it • you accidentally trash-talk someone in an email then hit “reply all” • you’re being micromanaged—or not being managed at all • you catch a colleague in a lie • your boss seems unhappy with your work • your cubemate’s loud speakerphone is making you homicidal • you got drunk at the holiday party Praise for Ask a Manager “A must-read for anyone who works . . . [Alison Green’s] advice boils down to the idea that you should be professional (even when others are not) and that communicating in a straightforward manner with candor and kindness will get you far, no matter where you work.”—Booklist (starred review) “The author’s friendly, warm, no-nonsense writing is a pleasure to read, and her advice can be widely applied to relationships in all areas of readers’ lives. Ideal for anyone new to the job market or new to management, or anyone hoping to improve their work experience.”—Library Journal (starred review) “I am a huge fan of Alison Green’s Ask a Manager column. This book is even better. It teaches us how to deal with many of the most vexing big and little problems in our workplaces—and to do so with grace, confidence, and a sense of humor.”—Robert Sutton, Stanford professor and author of The No Asshole Rule and The Asshole Survival Guide “Ask a Manager is the ultimate playbook for navigating the traditional workforce in a diplomatic but firm way.”—Erin Lowry, author of Broke Millennial: Stop Scraping By and Get Your Financial Life Together
  cool software engineering projects: Software Project Management For Dummies Teresa Luckey, Joseph Phillips, 2011-05-09 The increase in project outsourcing has forced traditional programmers to take on the role of project managers and quickly learn how to manage software projects The author discusses all of the essentials in widely accepted project management methodology, from managing programmers to assessing and eliminating risk The book covers the iterative development model, using Microsoft Project 2003, as well as a variety of methodologies including eXtreme, open source, SQA testing, software life cycle management, and more The companion Web site contains tools, case studies and other resources to help even novices get up and running
CoolPeel: Laser Skin Resurfacing Treatment - RealS…
Jul 21, 2023 · CoolPeel is a laser skin resurfacing treatment that uses the SmartXide Tetra CO2 laser, manufactured by Deka.. This …

CoolSculpting Fat Freezing: How It Works, Side Effects, Results …
Apr 9, 2024 · CoolSculpting is a nonsurgical body contouring treatment that uses cryolipolysis (fat freezing) …

Is Coolaser Skin Resurfacing Worth the Cost? - RealSelf
Jun 13, 2023 · Your provider will move the handheld Coolaser across the entire treatment area, zapping your skin as cool air blows. The cooling …

CoolSculpting vs. Emsculpt: Which Is Better for You?
Oct 17, 2023 · Which is more expensive: CoolSculpting or Emsculpt? Speaking of splurging, you’re probably wondering about the Emsculpt vs. CoolSculpting …

CoolTone Muscle Toning & Body Contouring | RealSelf
Aug 14, 2023 · CoolTone is a noninvasive body contouring treatment that was FDA-cleared in June 2019 to strengthen and tone muscles in the …

CoolPeel: Laser Skin Resurfacing Treatment - RealS…
Jul 21, 2023 · CoolPeel is a laser skin resurfacing treatment that uses the SmartXide Tetra CO2 laser, manufactured by Deka.. This …

CoolSculpting Fat Freezing: How It Works, Side Effects, Results …
Apr 9, 2024 · CoolSculpting is a nonsurgical body contouring treatment that uses cryolipolysis (fat freezing) …

Is Coolaser Skin Resurfacing Worth the Cost? - RealSelf
Jun 13, 2023 · Your provider will move the handheld Coolaser across the entire treatment area, zapping your skin as cool air blows. The cooling …

CoolSculpting vs. Emsculpt: Which Is Better for You?
Oct 17, 2023 · Which is more expensive: CoolSculpting or Emsculpt? Speaking of splurging, you’re probably wondering about the Emsculpt vs. CoolSculpting …

CoolTone Muscle Toning & Body Contouring | RealSelf
Aug 14, 2023 · CoolTone is a noninvasive body contouring treatment that was FDA-cleared in June 2019 to strengthen and tone muscles in the …