The document describes a computer science practical assignment to create a command-line application in Objective-C that simulates chemical reactions stochastically. It explains that the simulation tracks the molecules of different chemical species and fires reactions according to reaction rates defined by the law of mass action. It provides an example simulation script specifying reaction constants, initial molecule counts, and reactions to simulate an enzyme-substrate system over time.
Learning Morphological Rules for Amharic Verbs Using Inductive Logic ProgrammingGuy De Pauw
This document discusses learning Amharic verb morphology using inductive logic programming (ILP). Amharic verbs are complex, conveying information about subject, object, tense, aspect, mood and more through affixation, reduplication and compounding. The authors apply ILP to learn morphological rules from a training set of 216 Amharic verbs. They achieve 86.9% accuracy on a test set of 1,784 verb forms. Key challenges include a lack of similar examples in the training data and learning inappropriate alternation rules. This work contributes to advancing the automatic learning of morphology for under-resourced languages like Amharic.
The document provides feedback on Part 1 of a computer science practical. It summarizes submissions for Part 1, including operating systems used. It addresses some common problems and uncertainties students had, such as compilation errors, unfamiliar aspects of Objective-C, and error messages. It also provides clarification on issues like imports, method implementations, and pointer conversions.
Practical Class 12th (c++programs+sql queries and output) Aman Deep
Just download this and do some specific changes in the name section and roll no section . and submit it as it is to your teacher this will surely work and help you out your class 12th board practicals exam . no worries ! ENJOY :) !
The document contains the code for a menu driven C++ program that performs various operations on matrices such as calculating row and column sums, finding the transpose, and checking if two matrices are equal. It defines functions to perform these operations and contains a main function that inputs the matrices, displays a menu, and calls the appropriate functions based on the user's selection.
This program allows users to manage employee records in a database. It allows adding, modifying, deleting, recalling, and listing employee records which are stored with information like ID, name, salary, and date. The object oriented program is written in C++ and uses classes and functions to manage the database through different options from the menu.
Computer Science Investigatory Project Class 12Self-employed
The document describes a project report submitted by Rahul Kushwaha on a railway ticket reservation system. It includes certificates from the guide and examiner approving the report. The report contains sections describing the header files used, files generated, the working of the program, the coding, output screens, and conclusion. It was submitted for a computer science class and thanks the guide, principal, parents and classmates for their support.
The document discusses the stochastic simulation algorithm (SSA) for modeling chemical reactions. It explains that molecular reactions are inherently random processes. The SSA was developed by Gillespie to take into account this randomness by simulating reaction times and species populations. The algorithm works by choosing reaction times and events based on propensity functions derived from statistical thermodynamics. It provides an exact numerical simulation of a well-stirred chemically reacting system.
International Journal of Engineering Research and DevelopmentIJERD Editor
This document analyzes a discrete-time host-parasitoid model that incorporates both Allee effects for the host population and aggregation effects for the parasitoid population. The model is described using difference equations. Fixed points and local stability are analyzed mathematically. It is found that adding Allee effects can simplify the population dynamics by making the system less sensitive to initial conditions and compressing the dynamics. The inclusion of Allee effects and aggregation effects provides a more biologically realistic model of host-parasitoid interactions compared to previous models.
Learning Morphological Rules for Amharic Verbs Using Inductive Logic ProgrammingGuy De Pauw
This document discusses learning Amharic verb morphology using inductive logic programming (ILP). Amharic verbs are complex, conveying information about subject, object, tense, aspect, mood and more through affixation, reduplication and compounding. The authors apply ILP to learn morphological rules from a training set of 216 Amharic verbs. They achieve 86.9% accuracy on a test set of 1,784 verb forms. Key challenges include a lack of similar examples in the training data and learning inappropriate alternation rules. This work contributes to advancing the automatic learning of morphology for under-resourced languages like Amharic.
The document provides feedback on Part 1 of a computer science practical. It summarizes submissions for Part 1, including operating systems used. It addresses some common problems and uncertainties students had, such as compilation errors, unfamiliar aspects of Objective-C, and error messages. It also provides clarification on issues like imports, method implementations, and pointer conversions.
Practical Class 12th (c++programs+sql queries and output) Aman Deep
Just download this and do some specific changes in the name section and roll no section . and submit it as it is to your teacher this will surely work and help you out your class 12th board practicals exam . no worries ! ENJOY :) !
The document contains the code for a menu driven C++ program that performs various operations on matrices such as calculating row and column sums, finding the transpose, and checking if two matrices are equal. It defines functions to perform these operations and contains a main function that inputs the matrices, displays a menu, and calls the appropriate functions based on the user's selection.
This program allows users to manage employee records in a database. It allows adding, modifying, deleting, recalling, and listing employee records which are stored with information like ID, name, salary, and date. The object oriented program is written in C++ and uses classes and functions to manage the database through different options from the menu.
Computer Science Investigatory Project Class 12Self-employed
The document describes a project report submitted by Rahul Kushwaha on a railway ticket reservation system. It includes certificates from the guide and examiner approving the report. The report contains sections describing the header files used, files generated, the working of the program, the coding, output screens, and conclusion. It was submitted for a computer science class and thanks the guide, principal, parents and classmates for their support.
The document discusses the stochastic simulation algorithm (SSA) for modeling chemical reactions. It explains that molecular reactions are inherently random processes. The SSA was developed by Gillespie to take into account this randomness by simulating reaction times and species populations. The algorithm works by choosing reaction times and events based on propensity functions derived from statistical thermodynamics. It provides an exact numerical simulation of a well-stirred chemically reacting system.
International Journal of Engineering Research and DevelopmentIJERD Editor
This document analyzes a discrete-time host-parasitoid model that incorporates both Allee effects for the host population and aggregation effects for the parasitoid population. The model is described using difference equations. Fixed points and local stability are analyzed mathematically. It is found that adding Allee effects can simplify the population dynamics by making the system less sensitive to initial conditions and compressing the dynamics. The inclusion of Allee effects and aggregation effects provides a more biologically realistic model of host-parasitoid interactions compared to previous models.
This document introduces probability and key probability concepts. It defines an experiment as any process with uncertain outcomes, and a sample space as the set of all possible outcomes of an experiment. Events are defined as subsets of outcomes from the sample space, and can be simple (a single outcome) or compound (multiple outcomes). Several examples are provided to illustrate sample spaces and events.
A genetic algorithm for a university weekly courses timetabling problemMotasem Smadi
This document presents a genetic algorithm for solving a university weekly course timetabling problem. The timetabling problem involves allocating courses, teachers, rooms and time slots while satisfying constraints. The authors propose a sector-based genetic algorithm that represents timetables as chromosomes. Preliminary experimental results show the algorithm is promising for generating timetables that satisfy constraints. The algorithm uses genetic operators like crossover and mutation to evolve timetable solutions over multiple generations.
Optimization of probabilistic argumentation with Markov processesEmmanuel Hadoux
This document describes research on optimizing probabilistic argumentation strategies using Markov processes. It introduces argumentation problems with probabilistic strategies (APS) and formalizes them using probabilistic finite state machines. It then describes how an APS can be transformed into a mixed-observability Markov decision process (MOMDP) to allow for optimization without full knowledge of the initial state or opponent's private state. Algorithms for solving MOMDPs like MO-IP and MO-SARSOP are discussed. Different types of optimizations for the MOMDP are also presented, including removing irrelevant arguments, inferring attacks, and removing dominated arguments, both with and without dependencies on the initial state.
This document provides an introduction to first-order logic (FOL) including motivation, syntax, semantics, and examples. It discusses how FOL allows statements about relationships between objects using predicates, constants, variables, and quantifiers. Interpretations assign meanings to symbols and determine whether formulas are true or false. Validity and entailment are defined in terms of interpretations satisfying formulas.
Pairwise Learning for Synthetic BiologyMichiel Stock
This document discusses the application of pairwise learning in synthetic biology. It begins with an example using beer rating data to predict preferences. It then describes how pairwise learning can be used for network inference, protein-ligand prediction, and protein design. As a case study, it outlines work using pairwise learning and simulated annealing to optimize a cytochrome P450 enzyme to better catalyze a chemical reaction. Samples from the optimized distribution are then analyzed to study the effects of the optimization process.
This document summarizes a workshop on comparative phylogeography given by Jamie Oaks. It discusses using the software program Ecoevolity to estimate divergence times and models of co-diversification from genetic data. Ecoevolity uses Bayesian methods like Gibbs sampling and Dirichlet process priors to infer divergence times and the number of divergence events while integrating over gene trees and substitution parameters. Simulation studies show Ecoevolity can accurately estimate divergence times and the number of divergence events, though its performance decreases with shorter loci orunlinked loci.
1. The document introduces probability and defines key concepts like sample space, events, and classical and empirical probability formulas. It provides examples to illustrate these concepts like calculating the probability of rolling certain numbers on dice.
2. The document discusses mutually exclusive events and provides examples to determine if events are mutually exclusive using Venn diagrams. It also defines set identities that can be used when working with probabilities of events.
3. The document provides examples of using concepts like finding the probability of intersections and unions of events, determining the number of outcomes in sets, and calculating probabilities from a Venn diagram with given frequencies. It illustrates using set identities to solve probability problems.
This document contains a chapter about probability from a Pearson textbook. It includes objectives, definitions, examples, and explanations about key concepts in probability such as:
- The addition rule for disjoint (mutually exclusive) events, which states that the probability of event A or B occurring is equal to the sum of the individual probabilities if A and B cannot both occur.
- Subjective probabilities, which are based on personal judgment rather than experimental data.
- Using simulations and empirical methods to estimate probabilities based on observed frequencies from repeated experiments.
This document contains an excerpt from a textbook chapter on probability. It includes objectives about probability rules, computing probabilities using empirical and classical methods, using simulation, and subjective probabilities. It provides examples of finding probabilities of events based on observed frequencies from experiments and based on the number of favorable outcomes over total possible outcomes when outcomes are equally likely. Subjective probabilities are defined as those based on personal judgment rather than experimentation.
This document summarizes Deborah Mayo's critique of Allan Birnbaum's argument for the strong likelihood principle (SLP). Mayo argues that Birnbaum's claim that the sufficiency principle (SP) and weak conditionality principle (WCP) entail the SLP is logically flawed. Specifically:
1) Birnbaum's argument relies on "Birnbaumization" - imagining an experiment as a mixture that could have produced an observed outcome or its SLP pair. However, applying Birnbaumization contradicts applying the WCP to the known outcome.
2) One cannot simultaneously apply Birnbaumization, which uses the mixture distribution, and the WCP, which requires considering only
This document provides an overview of probability concepts including chance experiments, sample spaces, events, Venn diagrams, independence, conditional probability, and Bayes' rule. Key points covered include defining probability as a limit of relative frequency, and how to calculate probabilities of events using formulas like the addition rule, multiplication rule, and Bayes' rule. Examples are provided to illustrate concepts like conditional probability and working through word problems step-by-step.
Naive computations involving a function of many variables suffer from the curse of dimensionality: the computational cost grows exponentially with the number of variables. One approach to bypassing the curse is to approximate the function as a sum of products of functions of one variable and compute in this format. When the variables are indices, a function of many variables is called a tensor, and this approach is to approximate and use the tensor in the (so-called) canonical tensor format. In this talk I will describe how such approximations can be used in numerical analysis and in machine learning.
The document discusses probabilistic reasoning and probabilistic models. It introduces key concepts like representing knowledge with certainty factors rather than simple logic, defining sample spaces and probability distributions, calculating marginal and conditional probabilities, and using important probabilistic inference rules like the product rule and Bayes' rule. It provides examples of modeling problems with random variables and probabilities, like determining the probability of a disease given a positive test result.
Feedback on Part 1 of the Software Engineering Large PracticalStephen Gilmore
This document summarizes feedback from the first part of a software engineering practical project. It discusses issues seen in student submissions, such as Java syntax errors, incomplete functionality, and problems with XML documents. It also provides examples of user interfaces and additional features students have implemented. The document encourages students to pay careful attention to instructions, use logging for development, and notes changes to the sample data file.
This document is from a computer science practical session on arrays in Objective-C. It discusses creating and initializing arrays, sorting arrays, handling memory management of arrays, and using mutable arrays. The document provides code examples for creating arrays, adding and retrieving elements, sorting arrays, and updating mutable arrays. It also discusses best practices for memory management when using arrays.
The document describes stochastic simulations of chemical reaction cascades. It discusses simulating a series of reactions (A to B, B to C, etc.) at different rates. A simulation script is provided, and sample output shows species A decreasing while B increases over the first second. The model is expanded to allow species E to decay via a new reaction. Visualizations show this does not affect A-D profiles but changes E's profile. Faster decay of E is also discussed.
Robotium is an Android testing framework that allows automation of Android app tests using JUnit. It launches the app on an emulator, programmatically enters values and clicks buttons, and reports which tests pass or fail. Automating tests in this way makes re-running tests after code changes simple and removes human intervention.
Common Java problems when developing with AndroidStephen Gilmore
For some, developing for the Android platform might provide their first experience of working with a complex, modern Java API. This may test your knowledge of the Java programming language, especially with regard to features such as generics. The Android APIs make use of generics throughout and so you will have to know how to create and handle generic classes.
This document is from a computer science practical session on Objective-C given by Stephen Gilmore on October 19, 2012. It contains several questions about whether sample code snippets would print "Yes", "No", or throw an exception, followed by the answers.
This document provides instructions for installing and using Xcode on Mac computers. It summarizes that there will be no computer science lecture the following week, and that Xcode is now available on library Macs. It then demonstrates how to install Xcode from the App Store, create a new project, write and run sample code, and use features like autocompletion, static analysis, and the debugger.
This document introduces probability and key probability concepts. It defines an experiment as any process with uncertain outcomes, and a sample space as the set of all possible outcomes of an experiment. Events are defined as subsets of outcomes from the sample space, and can be simple (a single outcome) or compound (multiple outcomes). Several examples are provided to illustrate sample spaces and events.
A genetic algorithm for a university weekly courses timetabling problemMotasem Smadi
This document presents a genetic algorithm for solving a university weekly course timetabling problem. The timetabling problem involves allocating courses, teachers, rooms and time slots while satisfying constraints. The authors propose a sector-based genetic algorithm that represents timetables as chromosomes. Preliminary experimental results show the algorithm is promising for generating timetables that satisfy constraints. The algorithm uses genetic operators like crossover and mutation to evolve timetable solutions over multiple generations.
Optimization of probabilistic argumentation with Markov processesEmmanuel Hadoux
This document describes research on optimizing probabilistic argumentation strategies using Markov processes. It introduces argumentation problems with probabilistic strategies (APS) and formalizes them using probabilistic finite state machines. It then describes how an APS can be transformed into a mixed-observability Markov decision process (MOMDP) to allow for optimization without full knowledge of the initial state or opponent's private state. Algorithms for solving MOMDPs like MO-IP and MO-SARSOP are discussed. Different types of optimizations for the MOMDP are also presented, including removing irrelevant arguments, inferring attacks, and removing dominated arguments, both with and without dependencies on the initial state.
This document provides an introduction to first-order logic (FOL) including motivation, syntax, semantics, and examples. It discusses how FOL allows statements about relationships between objects using predicates, constants, variables, and quantifiers. Interpretations assign meanings to symbols and determine whether formulas are true or false. Validity and entailment are defined in terms of interpretations satisfying formulas.
Pairwise Learning for Synthetic BiologyMichiel Stock
This document discusses the application of pairwise learning in synthetic biology. It begins with an example using beer rating data to predict preferences. It then describes how pairwise learning can be used for network inference, protein-ligand prediction, and protein design. As a case study, it outlines work using pairwise learning and simulated annealing to optimize a cytochrome P450 enzyme to better catalyze a chemical reaction. Samples from the optimized distribution are then analyzed to study the effects of the optimization process.
This document summarizes a workshop on comparative phylogeography given by Jamie Oaks. It discusses using the software program Ecoevolity to estimate divergence times and models of co-diversification from genetic data. Ecoevolity uses Bayesian methods like Gibbs sampling and Dirichlet process priors to infer divergence times and the number of divergence events while integrating over gene trees and substitution parameters. Simulation studies show Ecoevolity can accurately estimate divergence times and the number of divergence events, though its performance decreases with shorter loci orunlinked loci.
1. The document introduces probability and defines key concepts like sample space, events, and classical and empirical probability formulas. It provides examples to illustrate these concepts like calculating the probability of rolling certain numbers on dice.
2. The document discusses mutually exclusive events and provides examples to determine if events are mutually exclusive using Venn diagrams. It also defines set identities that can be used when working with probabilities of events.
3. The document provides examples of using concepts like finding the probability of intersections and unions of events, determining the number of outcomes in sets, and calculating probabilities from a Venn diagram with given frequencies. It illustrates using set identities to solve probability problems.
This document contains a chapter about probability from a Pearson textbook. It includes objectives, definitions, examples, and explanations about key concepts in probability such as:
- The addition rule for disjoint (mutually exclusive) events, which states that the probability of event A or B occurring is equal to the sum of the individual probabilities if A and B cannot both occur.
- Subjective probabilities, which are based on personal judgment rather than experimental data.
- Using simulations and empirical methods to estimate probabilities based on observed frequencies from repeated experiments.
This document contains an excerpt from a textbook chapter on probability. It includes objectives about probability rules, computing probabilities using empirical and classical methods, using simulation, and subjective probabilities. It provides examples of finding probabilities of events based on observed frequencies from experiments and based on the number of favorable outcomes over total possible outcomes when outcomes are equally likely. Subjective probabilities are defined as those based on personal judgment rather than experimentation.
This document summarizes Deborah Mayo's critique of Allan Birnbaum's argument for the strong likelihood principle (SLP). Mayo argues that Birnbaum's claim that the sufficiency principle (SP) and weak conditionality principle (WCP) entail the SLP is logically flawed. Specifically:
1) Birnbaum's argument relies on "Birnbaumization" - imagining an experiment as a mixture that could have produced an observed outcome or its SLP pair. However, applying Birnbaumization contradicts applying the WCP to the known outcome.
2) One cannot simultaneously apply Birnbaumization, which uses the mixture distribution, and the WCP, which requires considering only
This document provides an overview of probability concepts including chance experiments, sample spaces, events, Venn diagrams, independence, conditional probability, and Bayes' rule. Key points covered include defining probability as a limit of relative frequency, and how to calculate probabilities of events using formulas like the addition rule, multiplication rule, and Bayes' rule. Examples are provided to illustrate concepts like conditional probability and working through word problems step-by-step.
Naive computations involving a function of many variables suffer from the curse of dimensionality: the computational cost grows exponentially with the number of variables. One approach to bypassing the curse is to approximate the function as a sum of products of functions of one variable and compute in this format. When the variables are indices, a function of many variables is called a tensor, and this approach is to approximate and use the tensor in the (so-called) canonical tensor format. In this talk I will describe how such approximations can be used in numerical analysis and in machine learning.
The document discusses probabilistic reasoning and probabilistic models. It introduces key concepts like representing knowledge with certainty factors rather than simple logic, defining sample spaces and probability distributions, calculating marginal and conditional probabilities, and using important probabilistic inference rules like the product rule and Bayes' rule. It provides examples of modeling problems with random variables and probabilities, like determining the probability of a disease given a positive test result.
Similar to Computer Science Large Practical coursework (14)
Feedback on Part 1 of the Software Engineering Large PracticalStephen Gilmore
This document summarizes feedback from the first part of a software engineering practical project. It discusses issues seen in student submissions, such as Java syntax errors, incomplete functionality, and problems with XML documents. It also provides examples of user interfaces and additional features students have implemented. The document encourages students to pay careful attention to instructions, use logging for development, and notes changes to the sample data file.
This document is from a computer science practical session on arrays in Objective-C. It discusses creating and initializing arrays, sorting arrays, handling memory management of arrays, and using mutable arrays. The document provides code examples for creating arrays, adding and retrieving elements, sorting arrays, and updating mutable arrays. It also discusses best practices for memory management when using arrays.
The document describes stochastic simulations of chemical reaction cascades. It discusses simulating a series of reactions (A to B, B to C, etc.) at different rates. A simulation script is provided, and sample output shows species A decreasing while B increases over the first second. The model is expanded to allow species E to decay via a new reaction. Visualizations show this does not affect A-D profiles but changes E's profile. Faster decay of E is also discussed.
Robotium is an Android testing framework that allows automation of Android app tests using JUnit. It launches the app on an emulator, programmatically enters values and clicks buttons, and reports which tests pass or fail. Automating tests in this way makes re-running tests after code changes simple and removes human intervention.
Common Java problems when developing with AndroidStephen Gilmore
For some, developing for the Android platform might provide their first experience of working with a complex, modern Java API. This may test your knowledge of the Java programming language, especially with regard to features such as generics. The Android APIs make use of generics throughout and so you will have to know how to create and handle generic classes.
This document is from a computer science practical session on Objective-C given by Stephen Gilmore on October 19, 2012. It contains several questions about whether sample code snippets would print "Yes", "No", or throw an exception, followed by the answers.
This document provides instructions for installing and using Xcode on Mac computers. It summarizes that there will be no computer science lecture the following week, and that Xcode is now available on library Macs. It then demonstrates how to install Xcode from the App Store, create a new project, write and run sample code, and use features like autocompletion, static analysis, and the debugger.
This document provides an overview of Objective-C concepts for a computer science practical session, including:
- Objective-C source files are divided into .h header files and .m implementation files.
- Classes are declared in header files with @interface and implemented in .m files with @implementation.
- Methods can be instance or class methods, distinguished by - and + prefixes.
- Properties expose fields and allow controlling access to values.
- Memory is managed through reference counting, which increments a counter when objects are created and decrements it when they are released.
This document provides an overview of debugging Android applications using Eclipse and Android Virtual Devices (AVDs). It discusses the Eclipse DDMS perspective for debugging, creating and using AVDs to emulate Android devices, and examining manifest files. It also covers string and image resources, and potential issues with the automatically generated R.java file.
This document provides steps for getting started with Android development, including getting the Android SDK, creating an Android project, configuring and running an application on an emulator, debugging issues like NullPointerExceptions, and working with the Android user interface using XML layouts and drag and drop in the Eclipse editor. The document demonstrates core tasks for setting up an Android development environment and debugging a simple application.
The document provides information about the Computer Science Large Practical (CSLP) and Software Engineering Large Practical (SELP) courses, including:
- The CSLP requires students to create a chemical reaction simulator in Objective-C, while the SELP requires developing an Android app to help students decide elections.
- Both courses run in the first semester and are assessed through coursework only.
- The courses aim to prepare students for later individual projects by providing larger programming projects with more design elements than previous courseworks.
This document discusses several Java programming topics including raw type parameters, working with the Java compiler, logging, and static analysis. It describes common Java problems like raw types and demonstrates how to address them. It also shows how to configure Java compiler preferences for tighter type checking and how logging and static analysis can help find bugs.
Feedback on Part 1 of the Individual PracticalStephen Gilmore
This document appears to be a presentation on common Java programming problems. It discusses topics like dead code, unused imports, overridden methods, emulator views comparing app functionality and design across different versions, and errors logged in the LogCat view. Each section includes screenshots related to the topic.
Creating and working with databases in AndroidStephen Gilmore
The document discusses code for a TODOs application that uses an SQLite database. It covers creating the database adapter and helper classes, writing methods to insert, update, and delete TODO items from the database, and retrieving data. It also discusses running the application and viewing TODO items, as well as the code for an activity to edit an individual TODO item.
The document discusses various aspects of developing Android applications in Eclipse, including manifest files, string and drawable resources, application attributes, and common Eclipse issues. It provides instructions and screenshots for editing the manifest, managing resources, updating strings, and dealing with problems like the R.java file not regenerating properly. Moving the project folder is presented as a solution to one such issue.
Project management for the individual practicalStephen Gilmore
The document discusses project management and outlines the roles of a developer and project manager. It emphasizes the importance of planning for the unexpected, predicting issues that could cause delays like weather or technical problems, and setting deadlines earlier to account for potential delays. Regular backups of work are also recommended in case of hardware or internet failures.
The document discusses various aspects of developing Android applications including getting started, running an app, managing apps, debugging apps, and designing layouts with XML. It covers creating a new project, running an app on an emulator, debugging a NullPointerException, and designing user interfaces by dragging and dropping widgets in a graphical layout editor that automatically updates the corresponding XML code.
The document discusses tools for Android development in Eclipse, including the Eclipse DDMS perspective for viewing emulators and devices, creating Android virtual devices, and starting the emulator to launch and interact with the virtual device.
Executive Directors Chat Leveraging AI for Diversity, Equity, and InclusionTechSoup
Let’s explore the intersection of technology and equity in the final session of our DEI series. Discover how AI tools, like ChatGPT, can be used to support and enhance your nonprofit's DEI initiatives. Participants will gain insights into practical AI applications and get tips for leveraging technology to advance their DEI goals.
How to Fix the Import Error in the Odoo 17Celine George
An import error occurs when a program fails to import a module or library, disrupting its execution. In languages like Python, this issue arises when the specified module cannot be found or accessed, hindering the program's functionality. Resolving import errors is crucial for maintaining smooth software operation and uninterrupted development processes.
বাংলাদেশের অর্থনৈতিক সমীক্ষা ২০২৪ [Bangladesh Economic Review 2024 Bangla.pdf] কম্পিউটার , ট্যাব ও স্মার্ট ফোন ভার্সন সহ সম্পূর্ণ বাংলা ই-বুক বা pdf বই " সুচিপত্র ...বুকমার্ক মেনু 🔖 ও হাইপার লিংক মেনু 📝👆 যুক্ত ..
আমাদের সবার জন্য খুব খুব গুরুত্বপূর্ণ একটি বই ..বিসিএস, ব্যাংক, ইউনিভার্সিটি ভর্তি ও যে কোন প্রতিযোগিতা মূলক পরীক্ষার জন্য এর খুব ইম্পরট্যান্ট একটি বিষয় ...তাছাড়া বাংলাদেশের সাম্প্রতিক যে কোন ডাটা বা তথ্য এই বইতে পাবেন ...
তাই একজন নাগরিক হিসাবে এই তথ্য গুলো আপনার জানা প্রয়োজন ...।
বিসিএস ও ব্যাংক এর লিখিত পরীক্ষা ...+এছাড়া মাধ্যমিক ও উচ্চমাধ্যমিকের স্টুডেন্টদের জন্য অনেক কাজে আসবে ...
हिंदी वर्णमाला पीपीटी, hindi alphabet PPT presentation, hindi varnamala PPT, Hindi Varnamala pdf, हिंदी स्वर, हिंदी व्यंजन, sikhiye hindi varnmala, dr. mulla adam ali, hindi language and literature, hindi alphabet with drawing, hindi alphabet pdf, hindi varnamala for childrens, hindi language, hindi varnamala practice for kids, https://www.drmullaadamali.com
How to Manage Your Lost Opportunities in Odoo 17 CRMCeline George
Odoo 17 CRM allows us to track why we lose sales opportunities with "Lost Reasons." This helps analyze our sales process and identify areas for improvement. Here's how to configure lost reasons in Odoo 17 CRM
Introduction to AI for Nonprofits with Tapp NetworkTechSoup
Dive into the world of AI! Experts Jon Hill and Tareq Monaur will guide you through AI's role in enhancing nonprofit websites and basic marketing strategies, making it easy to understand and apply.
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...Dr. Vinod Kumar Kanvaria
Exploiting Artificial Intelligence for Empowering Researchers and Faculty,
International FDP on Fundamentals of Research in Social Sciences
at Integral University, Lucknow, 06.06.2024
By Dr. Vinod Kumar Kanvaria
The simplified electron and muon model, Oscillating Spacetime: The Foundation...RitikBhardwaj56
Discover the Simplified Electron and Muon Model: A New Wave-Based Approach to Understanding Particles delves into a groundbreaking theory that presents electrons and muons as rotating soliton waves within oscillating spacetime. Geared towards students, researchers, and science buffs, this book breaks down complex ideas into simple explanations. It covers topics such as electron waves, temporal dynamics, and the implications of this model on particle physics. With clear illustrations and easy-to-follow explanations, readers will gain a new outlook on the universe's fundamental nature.
it describes the bony anatomy including the femoral head , acetabulum, labrum . also discusses the capsule , ligaments . muscle that act on the hip joint and the range of motion are outlined. factors affecting hip joint stability and weight transmission through the joint are summarized.
Strategies for Effective Upskilling is a presentation by Chinwendu Peace in a Your Skill Boost Masterclass organisation by the Excellence Foundation for South Sudan on 08th and 09th June 2024 from 1 PM to 3 PM on each day.
Your Skill Boost Masterclass: Strategies for Effective Upskilling
Computer Science Large Practical coursework
1. Computer Science Large Practical
Stephen Gilmore
School of Informatics
Friday 28th September, 2012
Stephen Gilmore (School of Informatics) Computer Science Large Practical Friday 28th September, 2012 1 / 45
2. Introduction
The requirement for the Computer Science Large Practical is to
create a command-line application implemented in Objective-C.
The purpose of the application is to implement a stochastic
discrete-event simulator for chemical reactions.
Stephen Gilmore (School of Informatics) Computer Science Large Practical Friday 28th September, 2012 2 / 45
3. Turing completeness
In theory all programming languages are equally powerful so why not
implement this simulator in Java instead of Objective-C?
In practice certain programming languages are better suited to some
tasks than others so it is necessary to learn more than one.
In reality having additional language skills brings additional
opportunities (it turns out that everyone can program in Java).
Stephen Gilmore (School of Informatics) Computer Science Large Practical Friday 28th September, 2012 3 / 45
4. Simulation
Stochastic simulation is an important tool to help understand the
chemical and biochemical processes which are constantly underway in
all living things.
Simulation is leading the way in scientific breakthroughs in medicine,
farming and veterinary science, with demonstrable benefits for the
health and wellbeing of humans, plants and animals.
Simulation is important in many other fields also, such as aerospace,
transport, logistics, healthcare, and many others.
Stephen Gilmore (School of Informatics) Computer Science Large Practical Friday 28th September, 2012 4 / 45
5. Chemical reactions
Chemical reactions change the concentration of chemical species such
as proteins because molecules are created, altered, combined, broken
apart, or destroyed.
The simulation of these processes takes place one reaction event at a
time.
The simulation tracks the number of molecules of each species and
terminates when no other reaction can fire, or when a pre-defined
simulation end-time has been reached.
Stephen Gilmore (School of Informatics) Computer Science Large Practical Friday 28th September, 2012 5 / 45
6. Exact versus approximate simulation
We are concerned here with exact stochastic simulation, in which
each reaction event is simulated.
Other stochastic simulation algorithms exist, called approximate
simulation algorithms.
These estimate the effect of numerous reaction events in order to
speed up a simulation, but we will not be concerned with these here.
Stephen Gilmore (School of Informatics) Computer Science Large Practical Friday 28th September, 2012 6 / 45
7. Chemical reactions
Reaction events change one chemical species into another. For example,
the reaction event f ,
f :E +S →C
describes a collision between a molecule of enzyme (E ) and a molecule of
substrate (S) to produce a molecule of a compound (C ).
Note
We write E + S to mean “E and S”, not “E plus S”.
Stephen Gilmore (School of Informatics) Computer Science Large Practical Friday 28th September, 2012 7 / 45
8. Law of Mass Action
The rate at which a reaction takes place depends on the number of
molecules of the reactants which are available (E and S are the
reactants here).
The Law of Mass Action for such systems states that the rate at
which a reaction occurs is proportional to the product of the number
of molecules of the reactants needed.
Stephen Gilmore (School of Informatics) Computer Science Large Practical Friday 28th September, 2012 8 / 45
9. Law of Mass Action (Example)
For example, if there are 5 molecules of E and 5 of S then the
reaction proceeds at rate 25f where f is the kinetic constant for this
reaction.
More generally, we would say that the reaction proceeds at rate
f × E × S.
Note
We write “E × S” here to mean “the number of molecules of E multiplied
by the number of molecules of S”.
Stephen Gilmore (School of Informatics) Computer Science Large Practical Friday 28th September, 2012 9 / 45
10. Reactions and molecule counts
After this reaction has fired, the molecule count of E is decreased
by 1, as is the molecule count of S.
The molecule count of C is increased by 1.
For example, if E and S were 5 before, and C was 0 then afterwards
E and S are 4 and C is 1.
The reaction rate is correspondingly less (now 16f , not 25f ).
Stephen Gilmore (School of Informatics) Computer Science Large Practical Friday 28th September, 2012 10 / 45
11. Molecule counts can never become negative
Note that this means that when any reactant is exhausted
(e.g. S = 0) then the reaction cannot fire.
The rate f × E × S is 0, because of the multiplication
Thus, molecule counts can never become negative.
Note
If your simulator generates negative molecule numbers on any simulation
run then you have a bug in your simulator.
Stephen Gilmore (School of Informatics) Computer Science Large Practical Friday 28th September, 2012 11 / 45
12. Compounds can break apart
Having formed, compounds can break apart again. For example, the
reaction event b,
b :C →E +S
describes a molecule of C breaking up into a molecule of E and a molecule
of S.
Law of Mass Action
This time C is the reactant and the Law of Mass Action states that this
reaction proceeds at rate b × C , where b is the kinetic constant for this
reaction.
Stephen Gilmore (School of Informatics) Computer Science Large Practical Friday 28th September, 2012 12 / 45
13. Forming a product
Finally, consider an alternative product reaction which produces a new
species P (a product).
p :C →E +P
This describes a molecule of C breaking up into a molecule of E and a
molecule of P.
Law of Mass Action
Again, C is the reactant and the Law of Mass Action states that this
reaction proceeds at rate p × C , where p is the kinetic constant for this
reaction.
Stephen Gilmore (School of Informatics) Computer Science Large Practical Friday 28th September, 2012 13 / 45
14. Simulation
The simulation of such a system depends on:
the values of the kinetic constants f , b and p,
the initial molecule counts of the species E , S, C and P,
and the stop-time, when the simulation should terminate.
Given this information in the form of a script, a simulator has enough
information to simulate the model, moving from state to state as
allowed by the reactions.
Stephen Gilmore (School of Informatics) Computer Science Large Practical Friday 28th September, 2012 14 / 45
15. Simulation script (1/2)
# The simulation stop time (t) is 200 seconds
t = 200
# The kinetic real-number constants of the three reactions:
# forward (f), backward (b) and produce (p)
f = 1.0
b = 0.5
p = 0.01
# The initial integer molecule counts of the four species,
# Enzyme, Substrate, Compound and Product
# (E, S, C, P) = (5, 5, 0, 0)
E = 5
S = 5
C = 0
P = 0
Stephen Gilmore (School of Informatics) Computer Science Large Practical Friday 28th September, 2012 15 / 45
16. Simulation script (1/2)
# The three reactions. The ‘forward’ reaction (f)
# makes the compound C, and the ‘backward’
# reaction (b) breaks it apart. The ‘produce’
# reaction (p) makes the product P and releases
# the enzyme E.
f : E + S -> C
b : C -> E + S
p : C -> E + P
Stephen Gilmore (School of Informatics) Computer Science Large Practical Friday 28th September, 2012 16 / 45
17. Possible forwards, backwards and produce reactions
— starting from the state E = S = 5, C = P = 0.
(5, 5, 0, 0) (E + 1, S + 1, C − 1, P )
b f b
p p
(4, 4, 1, 0) (5, 4, 0, 1) (E, S, C, P ) (E + 1, S, C − 1, P + 1)
b f b f f
p p
(3, 3, 2, 0) (4, 3, 1, 1) (5, 3, 0, 2) (E − 1, S − 1, C + 1, P )
b f b f b f
p p p
(2, 2, 3, 0) (3, 2, 2, 1) (4, 2, 1, 2) (5, 2, 0, 3)
b f b f b f b f
p p p p
(1, 1, 4, 0) (2, 1, 3, 1) (3, 1, 2, 2) (4, 1, 1, 3) (5, 1, 0, 4)
b f b f b f b f b f
p p p p p
(0, 0, 5, 0) (1, 0, 4, 1) (2, 0, 3, 2) (3, 0, 2, 3) (4, 0, 1, 4) (5, 0, 0, 5)
Stephen Gilmore (School of Informatics) Computer Science Large Practical Friday 28th September, 2012 17 / 45
24. Plotting the simulation output as a time-series plot
— initially (5, 5, 0, 0)
5
4
3
molecule count
E
S
C
P
2
1
0
0 50 100 150 200
time
Stephen Gilmore (School of Informatics) Computer Science Large Practical Friday 28th September, 2012 19 / 45
25. The problem with randomness
How do you know when you’ve got it right?
Stephen Gilmore (School of Informatics) Computer Science Large Practical Friday 28th September, 2012 20 / 45
26. Plotting the simulation output as a time-series plot
— initially (10, 10, 0, 0)
10
8
6
molecule count
E
S
C
P
4
2
0
0 50 100 150 200
time
Stephen Gilmore (School of Informatics) Computer Science Large Practical Friday 28th September, 2012 21 / 45
27. Plotting the simulation output as a time-series plot
— initially (50, 50, 0, 0)
50
40
30
molecule count
E
S
C
P
20
10
0
0 50 100 150 200
time
Stephen Gilmore (School of Informatics) Computer Science Large Practical Friday 28th September, 2012 22 / 45
28. Plotting the simulation output as a time-series plot
— initially (100, 100, 0, 0)
100
80
60
molecule count
E
S
C
P
40
20
0
0 50 100 150 200
time
Stephen Gilmore (School of Informatics) Computer Science Large Practical Friday 28th September, 2012 23 / 45
29. Plotting the simulation output as a time-series plot
— initially (500, 500, 0, 0)
500
400
300
molecule count
E
S
C
P
200
100
0
0 50 100 150 200
time
Stephen Gilmore (School of Informatics) Computer Science Large Practical Friday 28th September, 2012 24 / 45
30. Plotting the simulation output as a time-series plot
— initially (1000, 1000, 0, 0)
1000
800
600
molecule count
E
S
C
P
400
200
0
0 50 100 150 200
time
Stephen Gilmore (School of Informatics) Computer Science Large Practical Friday 28th September, 2012 25 / 45
31. Plotting the simulation output as a time-series plot
— initially (5000, 5000, 0, 0)
5000
4000
3000
molecule count
E
S
C
P
2000
1000
0
0 50 100 150 200
time
Stephen Gilmore (School of Informatics) Computer Science Large Practical Friday 28th September, 2012 26 / 45
32. Plotting the simulation output as a time-series plot
— initially (10000, 10000, 0, 0)
10000
8000
6000
molecule count
E
S
C
P
4000
2000
0
0 50 100 150 200
time
Stephen Gilmore (School of Informatics) Computer Science Large Practical Friday 28th September, 2012 27 / 45
33. Other ways to display the output
Here we plot the state after each reaction event
0.00000 5 5 0 0
0.08231 4 4 1 0
0.56568 3 3 2 0
0.67220 2 2 3 0
0.83951 1 1 4 0
1.12897 2 2 3 0
1.24503 1 1 4 0
1.84901 0 0 5 0
2.34504 1 1 4 0
2.47735 2 2 3 0
2.57656 1 1 4 0
Stephen Gilmore (School of Informatics) Computer Science Large Practical Friday 28th September, 2012 28 / 45
34. Removing molecules
In addition to the kinds of reactions we have seen so far, chemical species
can decay, or otherwise be removed from the simulation.
d :X →
The molecule count of species X is decreased by 1 when this reaction fires,
and no other species count is changed.
Reaction rate
The reaction proceeds at rate d × X .
Stephen Gilmore (School of Informatics) Computer Science Large Practical Friday 28th September, 2012 29 / 45
35. Adding molecules
Chemical species can be created, or otherwise be introduced into the
simulation.
c : →Y
The molecule count of species Y is increased by 1 when this reaction fires,
and no other species count is changed.
Reaction rate
This reaction has no reactants and hence fires at a constant rate,
determined by the kinetic constant for this reaction.
Stephen Gilmore (School of Informatics) Computer Science Large Practical Friday 28th September, 2012 30 / 45
36. Types of reactions considered
In this practical we will never be concerned with reactions which
involve a collision between more than two molecules.
Tri-molecular collisions occur only vanishingly rarely in dilute fluids.
Hence, the number of reactants which a reaction has will either be
zero, or one, or two.
Similarly, the number of chemical species produced by a reaction will
either be zero, or one, or two.
Stephen Gilmore (School of Informatics) Computer Science Large Practical Friday 28th September, 2012 31 / 45
37. A special case: dimerisation
Reactions in which two molecules of the same species collide constitutes a
special case (called dimerisation). In a reaction such as:
d :A+A→B
the reaction proceeds at rate d × ( 1 × A × (A − 1)), not d × A × A.
2
Stephen Gilmore (School of Informatics) Computer Science Large Practical Friday 28th September, 2012 32 / 45
38. A special case: dimerisation (explanation)
This adjusted rate reflects the fact that there are fewer ways for two
molecules of the same type to collide with one another.
Firstly, a molecule cannot collide with itself: hence the subtraction
of 1.
Secondly, a collision between A1 and A2 is exactly the same as a
collision between A2 and A1 : hence the 1 factor.
2
Stephen Gilmore (School of Informatics) Computer Science Large Practical Friday 28th September, 2012 33 / 45
39. Summary
Given a reaction script, produce a time-series output
# simulate to a limit # t X
# of 10 seconds 0.00, 100
t = 10 0.01, 98
0.02, 97
# decay rate d is 1 0.03, 96
d = 1.0 Your simulator 0.04, 95
⇒ written in ⇒ 0.05, 95
# 100 molecules of X Objective-C 0.06, 93
X = 100 0.07, 91
0.08, 90
# X decays to nothing .
. .
.
d : X -> . .
model.txt model.csv
Stephen Gilmore (School of Informatics) Computer Science Large Practical Friday 28th September, 2012 34 / 45
40. Requirements (1/2)
It should be possible to read and parse a reaction script
Reaction scripts can be formatted with comments and blank lines
Comments are indicated by a hash symbol (# ) and continue until the
end of the line
It should be possible to specify the simulation stop-time, reaction
kinetic constants and species initial concentrations
The simulation stop-time is always denoted by t
Reaction kinetic constants are positive real values and their identifiers
always begin with a lowercase letter (e.g. a, b, c, . . . , but not t, which
is reserved).
Species initial molecule counts are non-negative integer values and their
identifiers always begin with an uppercase letter (e.g. A, B, C, . . . ).
Stephen Gilmore (School of Informatics) Computer Science Large Practical Friday 28th September, 2012 35 / 45
41. Requirements (2/2)
Reaction events should fire according to their propensity, as
determined by the reaction kinetic constants and the species
molecular populations.
The application should produce a comma-separated time-series of
molecule counts for the species in the reaction script up to the
simulation stop time.
The first column should be the time points of the observations.
The time series should be preceded by a header listing the species
identifiers in the order in which they appear in the file.
Stephen Gilmore (School of Informatics) Computer Science Large Practical Friday 28th September, 2012 36 / 45
42. Extra credit
The requirements listed in the section above illustrate the core
functionality which is required from your application.
A well engineered solution which addresses all of the above
requirements should expect to attract a very good or excellent mark.
Additional credit will be awarded for additional useful features which
are not on the above list.
Thus, if you have time remaining before the submission deadline and
you have already met all the requirements listed above then you can
attract additional marks by being creative, conceiving of new features
which can helpfully be added to the application, and implementing
these.
Stephen Gilmore (School of Informatics) Computer Science Large Practical Friday 28th September, 2012 37 / 45
43. Examples of additional features
Examples of features which you might like to consider adding could be the
following:
good diagnostic error messages for non-well-formed input scripts;
static analysis to generate warnings for kinetic constants or species
populations which are defined but never used;
support for descriptive identifiers for reactions and species (e.g.
forward instead of f, and backward instead of b; and Enzyme
instead of E, and Substrate instead of S);
support for numbers in scientific notation (e.g. writing 1e-10 instead
of 0.0000000001 and 1e12 instead of 1000000000000).
Stephen Gilmore (School of Informatics) Computer Science Large Practical Friday 28th September, 2012 38 / 45
44. Early submission credit (1/2)
In software development, timing and delivery of completed applications
and projects can be crucial in gaining a commercial or strategic advantage
over competitors. Being the first to market means that your product has
the opportunity to become known and similar products which come later
may struggle to make the same impact, simply because they became
available second.
Stephen Gilmore (School of Informatics) Computer Science Large Practical Friday 28th September, 2012 39 / 45
45. Early submission credit (2/2)
In order to motivate good project management, planning, and efficient
software development, the CSLP reserves marks above 90% for work which
is submitted early (specifically, one week before the deadline for Part 2).
To achieve a mark above 90%, a practical submission must be excellent in
all technical and functional aspects, correctly implement the Gillespie
algorithm, be implemented in idiomatic Objective-C, and otherwise meet
all requirements of the practical, and in addition to this it must be
submitted early.
Stephen Gilmore (School of Informatics) Computer Science Large Practical Friday 28th September, 2012 40 / 45
46. Assessment criteria (1/2)
This practical exercise will be assessed in terms of the completeness,
correctness and efficiency of the simulator, and the quality of the
Objective-C code using features of the language well.
For example, all other things being equal, a simulator which correctly
implements dimerisation will get more marks than one which does
not.
A more accurate simulator will get more marks.
Efficiency is very important in simulators which may need to deal with
millions of reaction events. The main loop of the simulation should
be carefully coded to avoid unnecessary object allocations and other
instructions.
A more efficient simulator will get more marks.
Stephen Gilmore (School of Informatics) Computer Science Large Practical Friday 28th September, 2012 41 / 45
47. Assessment criteria (2/2)
A well-structured Objective-C application with classes, interfaces and
protocols will be preferred to one which is not structured.
Writing idiomatic Objective-C code will gain marks.
All else being equal, an application which compiled reports static
analysis errors should expect to attract fewer marks than one which
does not.
Sloppy development style ignoring compiler warnings will lose marks.
Additionally, all else being equal, an application whose code contains
examples of poor programming style (such as unused variables, dead
code, blocks of commented-out code etc) should expect to attract
fewer marks than an application which does not have these problems.
Poor programming style will lose marks.
Stephen Gilmore (School of Informatics) Computer Science Large Practical Friday 28th September, 2012 42 / 45
48. Marking process (1/3)
1. A new, previously-unseen simulation script is created.
The application will be tested on both seen and unseen simulation
scripts.
2. The accompanying documentation is read for instructions on how to
use the application.
Submissions with insufficient documentation will lose marks here.
3. The Objective-C project is compiled and inspected for errors or
warnings
Submissions with errors or static analysis warnings will lose marks here
Stephen Gilmore (School of Informatics) Computer Science Large Practical Friday 28th September, 2012 43 / 45
49. Marking process (2/3)
4. The compiled code is run on previously-seen sample simulation scripts
Submissions which fail to execute will lose marks here
Submissions which produce incorrect output will lose marks here
5. The compiled code is run on previously-unseen sample simulation
scripts
Submissions which fail to execute will lose marks here
Submissions which produce incorrect output will lose marks here
6. The submitted simulation scripts are inspected as evidence of
developer testing.
Submissions which have had insufficient testing will lose marks here
Stephen Gilmore (School of Informatics) Computer Science Large Practical Friday 28th September, 2012 44 / 45
50. Marking process (3/3)
7. Other additional features of the application will be explored
Submissions with useful additional features will gain marks here
8. The Objective-C source code will be inspected for good programming
style
Submissions with insufficient structure will lose marks here
Submissions which do not use Objective-C features will lose marks here
Submissions with too few comments will lose marks here
Submissions with blocks of commented-out code will lose marks here
Stephen Gilmore (School of Informatics) Computer Science Large Practical Friday 28th September, 2012 45 / 45