Syllabus#

Logistics#

Course name: Comp-526

Course term: Fall 2025

Class time: M-W-F: 11:00 am - 11:50AM am

Mode of delivery: in person

Location: LH 347

Instructor: Valeria Barra#

Pronouns: (she/her/hers)

Email: vbarra [at] sdsu [dot] edu

Office location: announced on the course Canvas page

Office Hours: announced on the course Canvas page or by appointment.

Tip

Office hours are an important time for asking questions, solving problems, discussing broader academic and career strategies, and providing feedback so I can make the class serve your needs and those of people with similar experiences and interests.

Overview#

Scientific computing and mathematical modeling (both deterministic and stochastic) are fundamental tools for the solution of problems arising in the study of complex systems, whether originating from the physical, chemical, or biological sciences, or of an economic and social nature.

Scientific computing is a broad term that describes the use of computers for scientific, medical, and engineering applications. This definition is often application-focused or domain-driven.

On the other hand, Numerical Analysis, is used to solve problems in analysis (i.e., with real numbers) by numerical, rather than symbolic means. Some examples:

  • Solving linear and nonlinear equations

  • Computing values of definite integrals

  • Solving differential equations

This can be seen as a problem-focused description.

Numerical (or Computational) Methods are algorithms (methods) for solving mathematical problems in the service of applications. Some examples:

  • The method of conjugate gradients for linear systems

  • Gaussian quadrature for computing integrals

  • The Runge-Kutta method for initial value problems

This is an algorithm-focused description. In reality, this area encompasses all three: based on an application, we formulate some mathematical problems and find an algorithm for it to solve it using computers.

Organization and course design#

We will start by giving an introduction to version control and reproducibility, which are key aspects of modern computational sciences. The foundations learned during the first lecture will serve as the basis for the workflow that you will utilize throughout the semester for assignments and project submissions (it might be useful to review carefully the first lecture multiple times). Then we will introduce the Linux filesystem and some basic shell commands.

We’ll proceed with the evaluation of functions and introduce the concepts of conditioning and stability, which are applicable to every topic we encounter.

Then we’ll explore rootfinding, our first infinite algorithm, in which we’ll learn about convergence classes and the fundamental challenge of writing a function that is correct for all well-typed inputs.

We’ll move to the concepts of stability and backward stability.

Next up will be an introduction to linear algebra, interpolation, and then differentiation.

We’ll move on to integration and finally numerical solution of differential equations.

Although we’ll continue with new content, during the semester we will have two separate short modules on compiled languages programming: C and Fortran.

Towards the end of the semester, for your final projects, you can then form small teams of like interest and work on an original study (numerical experiments and interpretation, comparisons, etc.) or on contribution to be shared with the community. Studies and contributions can take many forms.

Student Learning Outcomes#

Upon completing this course, students will be able to

  1. contribute to collaborative software with the use of version control systems, such as git

  2. formulate problems in science and engineering in terms of computational methods

  3. evaluate the accuracy and performance of algorithms

  4. diagnose ill-conditioned problem formulations and unstable algorithms

  5. develop effective numerical software, taking into account stability, accuracy, and cost

  6. communicate about the above using figures, numerical experiments, writing, and presentation

  7. search for and understand relevant literature and documentation

  8. write programs in Julia, C, and Fortran

Expectations#

  1. Enter with a growth mindset, practice adaptive coping, and nurture your intrinsic motivation

  2. Attend class (in-person) and participate in discussions

  3. Make an honest attempt at activities, projects, etc.

  4. Interact with the class notebooks and read reference material

  5. Individual or group projects

Assessment, grading policy and schedule#

This class will have some assignments and projects (midterm and final). The final projects can be individual or group projects (depending on the number of students registered) and will be agreed upon with the instructor. There will be a midterm and a final oral presentation for each project. Moreover, a final report must be delivered. Instructions about what is expected for both midterm and final presentations as well as for the final report will be provided.

Grading breakdown:

  • Participation (can include engagement in class, attendance, use of office hours, etc) (5%)

  • Assignment 1 (10%): due date TBD

  • Assignment 2 (10%): due date TBD

  • Assignment 3 (10%): due date TBD

  • Assignment 4 (10%): due date TBD

  • Midterm Project (%20): due date TBD. The midterm/final project choice and proposal will need to be discussed with your teacher, before its submission. Please make sure to use plenty of Office Hours to discuss your midterm/final project Proposal before submitting it. This project is broken down in two deadlines TBD. Please note that Canvas does not allow setting multiple parts with different deadlines for a given assignment. For the Midterm Project, I will set the earliest of the two deadlines on Canvas.

  • Final Project (%35): due date TBD. This project is broken down in three deadlines TBD. Please note that Canvas does not allow setting multiple parts with different deadlines for a given assignment. For the Final Project, I will set the latest of the three deadlines on Canvas.

Assignments will be distributed no later than a week prior to the due date.

The schedule is subject to change (the instructor will announce any changes).

Late submission and absences policy: if you submit your assignments late, there is an increasing penalty (10% off for up to 24 hours late, 20% off for 24-48 hours late). No assignments will be graded if submitted later than 48 hours late.

Any student who cannot attend class or submit assignments by their due date for serious issues (e.g., medical emergencies) or participation in university activities (e.g., official university travel for conferences or sports) that can be documented, should communicate those to your instructor as soon as possible before the deadline.

<<<<<<< HEAD This course requires you to complete various assignments that assess your understanding and application of the course content. You are expected to do your own work and cite any sources you use and collaborators appropriately. You are personally responsible for understanding and verifying the code that you submit and include appropriate documentation.#

This course requires you to complete various assignments that assess your understanding and application of the course content. You are expected to do your own work and cite any sources you use and collaborators (humans or not) appropriately. You are personally responsible for understanding and verifying the code that you submit and include appropriate documentation.

360423d (Add first draft of Syllabus, TOC and materials for Fall 25)

The California State University system requires instructors to report all instances of academic misconduct to the Center for Student Rights and Responsibilities. Academic dishonesty will result in disciplinary review by the University and may lead to probation, suspension, or expulsion. Instructors may also, at their discretion, penalize student grades on any assignment discovered to have been produced in an academically dishonest manner such as cheating and plagiarism as described on the Cheating and Plagiarism page.

In May 2024, the University Senate extended its definition of plagiarism to include the un-cited use of generative AI applications, specifically: “representing work produced by generative Artificial Intelligence as one’s own.” Academic freedom ensures that instructors are empowered to determine whether students may use genAI in their classes and to what extent. To minimize confusion, we report here a statement regarding the use of AI in this class.

Instructor Approved Use of LLMs: Students should not use generative AI applications, known as large language models (LLMs), in this course except as approved by the instructor. Any use of generative AI outside of instructor-approved guidelines constitutes misuse. Misuse of generative AI is a violation of the course policy on academic honesty and will be reported to the Center for Student Rights and Responsibilities. LLMs, such as OpenAI’s chatGPT, Microsoft’s Co-Pilot, Anthropic’s Claude, Meta’s Llama, Google’s Gemini, etc. are valuable tools, which are still in their infancy, that will likely transform how we teach, learn, and code. However, such LLMs are highly sensitive to the (often biased) data that they are trained on and prone to hallucinations leading to inaccurate and unreliable results. Hence, it is necessary for the user to have a firm grasp and understanding of the material.

  • Work created by AI tools may not be considered original work and instead, considered automated plagiarism. It is derived from previously created texts from other sources that the models were trained on, yet doesn’t cite sources.

  • AI models have built-in biases (ie, they are trained on limited underlying sources; they reproduce, rather than challenge, errors in the sources)

  • AI tools have limitations (ie, they lack critical thinking to evaluate and reflect on criteria; they lack abductive reasoning to make judgments with incomplete information at hand)

Given these important ethical caveats, it is crucial for students to learn how to use these tools and other online resources (e.g., stackoverflow.com) responsibly. For my class

  • You must acknowledge and cite use of examples and aids that you include in your assignments, whether from LLMs or other sources.

  • You must clearly identify the use of AI-based tools in your work. Any work that utilizes AI-based tools must be clearly marked as such, including the specific tool(s) used. For example, if you use ChatGPT-3, you must cite “ChatGPT-3. (YYYY, Month DD of query). “Text of your query and answers”.

  • You must be transparent in how you used the AI-based tool, including what work is your original contribution.

  • You must ensure your use of AI-based tools does not violate any copyright or intellectual property law.

  • You must not use AI-based tools to cheat on assessments.

  • You must not use AI-based tools to plagiarize without citation.

In order to prevent misuse of these tools and to ensure students are adequately learning the material, the Instructor may ask students in class or during office hours about certain topics covered in this course after they have been introduced and the students’ answers will contribute to the overall assessment and grades. Instructors and graders/TAs may also use AI detector tools. If you are found in violation of this policy, you may face penalties such as a reduction in grade, failure of the assignment or assessment, or even failure of the course. Finally, it’s your responsibility to be aware of the academic integrity policy and take the necessary steps to ensure that your use of AI-based tools is in compliance with this policy.

Religious Holidays#

According to the University Policy File, students should notify instructors of planned absences for religious observances by the end of the second week of classes. See the campus policy regarding religious observances for full details.

Land Acknowledgment#

For millennia, the Kumeyaay people have been a part of this land. This land has nourished, healed, protected and embraced them for many generations in a relationship of balance and harmony. As members of the San Diego State University community, we acknowledge this legacy. We promote this balance and harmony. We find inspiration from this land, the land of the Kumeyaay.