The first video in the Computer Software series, part of our Introduction …
The first video in the Computer Software series, part of our Introduction to Computers course. This video looks at the general types of software, software development, the software development life cycle, as well as explains what computer programers do.
This course addresses information technology fundamentals, including project management and software processes, …
This course addresses information technology fundamentals, including project management and software processes, data modeling, UML, relational databases and SQL. Topics covered include internet technologies, such as XML, web services, and service-oriented architectures. This course provides an introduction to security and presents the fundamentals of telecommunications and includes a project that involves requirements / design, data model, database implementation, website, security and data network. No prior programming experience required.
The tutorial that the "DjangoGirls" initiative is using for all of its …
The tutorial that the "DjangoGirls" initiative is using for all of its workshops. It's a very beginner-friendly tutorial with introductions to the command line, Python, Django, HTML and CSS. No previous programming experience is required.
Once participants have finished the tutorial, they will have a small working web application: their own blog. The tutorial will show them how to put it online, so others will see their work.
The tutorial is available in English, French, Chinese and Ukrainian. "beta" versions of translations to other languages are also available. (The English version is considered the "original" and is usually the most maintained, complete and up-to-date one.)
This course provides an introduction to the fundamental principles and techniques of …
This course provides an introduction to the fundamental principles and techniques of software development that have greatest impact on practice. Topics include capturing the essence of a problem by recognizing and inventing suitable abstractions; key paradigms, including state machines, functional programming, and object-oriented programming; use of design patterns to bridge gap between models and code; the role of interfaces and specification in achieving modularity and decoupling; reasoning about code using invariants; testing, test-case generation and coverage; and essentials of programming with objects, functions, and abstract types. The course includes exercises in modeling, design, implementation and reasoning.
Information Technology I helps students understand technical concepts underlying current and future …
Information Technology I helps students understand technical concepts underlying current and future developments in information technology. There will be a special emphasis on networks and distributed computing. Students will also gain some hands-on exposure to powerful, high-level tools for making computers do amazing things, without the need for conventional programming languages. Since 15.564 is an introductory course, no knowledge of how computers work or are programmed is assumed.
In virtually every industry and every firm, information technology is driving change, …
In virtually every industry and every firm, information technology is driving change, creating opportunities and challenges. Leaders who don’t understand at least the fundamentals of information systems will be at a strategic disadvantage. This course provides broad coverage of technology concepts and trends underlying current and future developments in information technology, and fundamental principles for the effective use of computer-based information systems. There will be a special emphasis on manufacturing. Information Systems topics that will be covered include networks and distributed computing, including the World Wide Web, hardware and operating systems, software development tools and processes, relational databases, security and cryptography, enterprise applications, B2B, the semantic web and electronic commerce. Sloan LFM students with an interest in Information Systems are encouraged to register for this course.
This course presents the fundamentals of object-oriented software design and development, computational …
This course presents the fundamentals of object-oriented software design and development, computational methods and sensing for engineering, and scientific and managerial applications. It cover topics, including design of classes, inheritance, graphical user interfaces, numerical methods, streams, threads, sensors, and data structures. Students use Java® programming language to complete weekly software assignments. How is 1.00 different from other intro programming courses offered at MIT? 1.00 is a first course in programming. It assumes no prior experience, and it focuses on the use of computation to solve problems in engineering, science and management. The audience for 1.00 is non-computer science majors. 1.00 does not focus on writing compilers or parsers or computing tools where the computer is the system; it focuses on engineering problems where the computer is part of the system, or is used to model a physical or logical system. 1.00 teaches the Java programming language, and it focuses on the design and development of object-oriented software for technical problems. 1.00 is taught in an active learning style. Lecture segments alternating with laboratory exercises are used in every class to allow students to put concepts into practice immediately; this teaching style generates questions and feedback, and allows the teaching staff and students to interact when concepts are first introduced to ensure that core ideas are understood. Like many MIT classes, 1.00 has weekly assignments, which are programs based on actual engineering, science or management applications. The weekly assignments build on the class material from the previous week, and require students to put the concepts taught in the small in-class labs into a larger program that uses multiple elements of Java together.
Lecture for the course "CSCI 380 - Mobile Application and Product Development" …
Lecture for the course "CSCI 380 - Mobile Application and Product Development" delivered at John Jay College in Spring 2019 by Bhargava Chinthirla and Eric Spector as part of the Tech-in-Residence Corps program.
This set of slides, covering the topics of Software Maintenance and Evolution, …
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
Scientific code is different from production software. Scientific code, by producing results …
Scientific code is different from production software. Scientific code, by producing results that are then analyzed and interpreted, participates in the elaboration of scientific conclusions. This imposes specific constraints on the code that are often overlooked in practice. We articulate, with a small example, five characteristics that a scientific code in computational science should possess: re-runnable, repeatable, reproducible, reusable and replicable. The code should be executable (re-runnable) and produce the same result more than once (repeatable); it should allow an investigator to reobtain the published results (reproducible) while being easy to use, understand and modify (reusable), and it should act as an available reference for any ambiguity in the algorithmic descriptions of the article (replicable).
This subject is a seminar-style course aimed at anyone who is interested …
This subject is a seminar-style course aimed at anyone who is interested in founding a software company or working for a software company or company that uses software technology extensively as a senior manager, developer, or product/program manager. It is also appropriate for people interested in the industry or in working as an industry analyst. Many of the issues we discuss are highly relevant for companies whose businesses are heavily dependent on software, such as in e-business or financial services, or embedded software for industrial applications.
This is a reading and discussion subject on issues in the engineering …
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.
Processing information is the hallmark of all modern organizations, which are increasingly …
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.
The ZooCoder virtual field trip is an exciting app that combines C#, …
The ZooCoder virtual field trip is an exciting app that combines C#, SQLite databases, and Visual Studio Code within GitHub Codespaces. Its goal? To create a full-stack web application that displays feeding schedules for animals at the Como Zoo in Saint Paul, Minnesota. The app is available in two file formats: SCORM 1.2 and H5P.Import the SCORM or H5P file into your Learning Management System (LMS) to share the virtual field trip app with your students.
No restrictions on your remixing, redistributing, or making derivative works. Give credit to the author, as required.
Your remixing, redistributing, or making derivatives works comes with some restrictions, including how it is shared.
Your redistributing comes with some restrictions. Do not remix or make derivative works.
Most restrictive license type. Prohibits most uses, sharing, and any changes.
Copyrighted materials, available under Fair Use and the TEACH Act for US-based educators, or other custom arrangements. Go to the resource provider to see their individual restrictions.