Comp Sci 220 Course Information and Expectations

Author

Posted Oct 22, 2024

Reads 643

An artist’s illustration of artificial intelligence (AI). This image visualises the duality between human and machine intelligence and how both learn. It was created by Rose Pilkington as ...
Credit: pexels.com, An artist’s illustration of artificial intelligence (AI). This image visualises the duality between human and machine intelligence and how both learn. It was created by Rose Pilkington as ...

Comp Sci 220 is a comprehensive course that covers the fundamentals of computer science. The course is designed for students with some prior programming experience.

You can expect to spend around 12-15 hours per week on coursework, including assignments, quizzes, and a final project. This is a significant time commitment, but it's essential to master the concepts and skills covered in the course.

The course is divided into two main parts: algorithms and data structures, and software engineering. Each part has its own set of topics and assignments, and you'll need to stay on top of both to succeed.

You'll be working with a variety of programming languages, including Python and Java, and you'll need to be comfortable with coding and debugging.

Course Information

Comp Sci 220 is a comprehensive course that covers the fundamentals of computer science. It's a 3-credit course that meets for 3 hours per week.

The course is designed for students who have completed Comp Sci 120 and are looking to further their knowledge in computer science. The course covers topics such as data structures, algorithms, and software engineering.

The course is typically offered in the fall semester, but it's best to check the course schedule for the most up-to-date information.

Computer Sciences

Credit: youtube.com, What I Wish I Knew ... about a computer science degree

Computer Sciences is a fascinating field that combines math, logic, and problem-solving to create innovative solutions. You can expect to learn about algorithms, data structures, and software engineering in a computer science program.

The curriculum typically includes courses in computer architecture, operating systems, and computer networks, which provide a solid foundation for understanding how computers work and communicate with each other.

Computer science graduates can pursue careers in software development, data analysis, and artificial intelligence, among other fields.

The field is constantly evolving, with new technologies and advancements emerging regularly, so it's essential to stay up-to-date with the latest developments and trends.

Prerequisites

To succeed in this course, you should have a solid grasp of loops. Loops are an essential concept in programming, and understanding how to use them effectively will help you tackle the course material with confidence.

You should also be familiar with variables, including how to declare and manage their scope. This will help you write clean and efficient code.

Credit: youtube.com, Prerequisites and Corequisites

Defining and using functions to break down problems into manageable parts is another crucial skill. This will help you organize your code and make it easier to maintain.

Recursive functions with integer arguments are also a key concept to understand. If you're not familiar with recursion, don't worry – it's a skill that can be learned with practice.

To get a better sense of the course material, here's a quick rundown of the key concepts you should be familiar with:

  1. Loops
  2. Variables (declaration and scope)
  3. Defining and using functions to decompose problems
  4. Recursive functions with integer arguments
  5. Algorithms and data structures, including lists, trees, and recursion

Learning Goals

In this course, you'll learn how to design software that truly meets the needs of its users.

You'll demonstrate empathy for users and advocate for their needs through software design, which means putting yourself in their shoes and thinking about what they want to achieve with your software.

To do this effectively, you'll learn about Human-Computer Interaction styles and principles, which will help you create software that's intuitive and easy to use.

Credit: youtube.com, Goals, Objectives, and Learning Outcomes

You'll also apply methods from the Human-Centered Design process to create interactive systems that are user-friendly and effective.

Here are some key learning goals in this course:

  • Demonstrate competency in Human-Computer Interaction styles and principles.
  • Apply methods from the Human-Centered Design process to create interactive systems.
  • Practice design, implementation, and evaluation skills for software interfaces.
  • Communicate design rationale and operate in a team-based setting to solve problems collaboratively.

As you work on these skills, you'll also explore the use of AI for the design, implementation, and evaluation of interactive systems, which is a rapidly evolving field with many exciting possibilities.

Academic Policies

In COMPSCI 220, you're encouraged to form study groups and discuss course material with others, but all graded work must be done individually. You can ask public questions in office hours or on Campuswire, but make sure they're general and don't involve code snippets or specific solution ideas.

The course assumes that all submitted work is generated by students themselves, working individually or in groups. This means you shouldn't hire someone or a company to write assignments for you, and you shouldn't use AI tools like ChatGPT to do the writing for you either.

Spacious and modern technology lab featuring desks and computer equipment, ideal for educational settings.
Credit: pexels.com, Spacious and modern technology lab featuring desks and computer equipment, ideal for educational settings.

Academic dishonesty is taken seriously in this course, and it includes cheating, fabrication, plagiarism, and facilitating dishonesty. Here are some examples of what's considered academic dishonesty:

  • Cheating - using trickery or deception in your academic work
  • Fabrication - intentionally falsifying or inventing information or citations
  • Plagiarism - representing someone else's words or ideas as your own work
  • Facilitating Dishonesty - knowingly helping someone else commit academic dishonesty

Grading and Exam Policies

In this course, homework assignments make up 40% of your grade, and the lowest grade will be dropped. You'll have weekly deadlines for these projects, which will be programmed in Ocelot and submitted via Gradescope.

Quizzes account for 10% of your grade, and the lowest two quiz scores will be dropped. These quizzes are usually released on Monday and are open for 24 hours.

Lab participation is worth 8% of your grade, and two lab absences are dropped. You may have short quizzes or small assignments in lab that will be graded for completion.

Lesson questions are worth 2% of your grade, and the highest 20 lecture scores will count towards your grade. These questions will be a mix of participation and correctness.

Related reading: Comp Sci Lab

Credit: youtube.com, Policies & Procedures: The Quarter System, Grades, and Repeating Courses

Exams make up 40% of your grade, and you must score at least a 33.33% exam average to pass the course. There will be two midterm exams and one final exam.

Here are the letter grade thresholds for the course:

Note that these thresholds are tentative and may be adjusted based on the overall performance in the course.

Academic Honesty Policy

Academic honesty is a fundamental aspect of academic integrity, and it's essential to understand what it entails. In the context of COMPSCI 220, academic honesty means working individually on all items resulting in a grade, and not sharing homework code or solution ideas with others.

As students, we're encouraged to form study groups and discuss course material jointly, but we must ensure that all work submitted is generated by us individually or in groups. This includes not hiring someone or a company to write assignments for us, and not using artificial intelligence tools like ChatGPT.

Credit: youtube.com, The academic honesty policy, citations, and using AI

The College of Information and Computer Sciences at UMass Amherst expects everyone to behave responsibly and honorably, and we're expected to not give, receive, or use aid in examinations or academic work without permission.

Academic dishonesty includes cheating, fabrication, plagiarism, and facilitating dishonesty. Cheating involves intentionally using trickery or deception in one's academic work, while fabrication involves intentionally falsifying or inventing information or citations.

Here are some examples of academic dishonesty:

  • Cheating: intentionally using trickery or deception in one's academic work.
  • Fabrication: intentionally falsifying or inventing information or citations.
  • Plagiarism: knowingly representing the words or ideas of another as one's own work.
  • Facilitating Dishonesty: knowingly helping or attempting to help another commit an act of academic dishonesty.

If you're unsure about what constitutes academic dishonesty, it's always best to err on the side of caution and seek clarification from your instructor. Remember, academic honesty is essential for maintaining a community of respect, integrity, fairness, and trust.

Course Details

Comp Sci 220 is a 3-credit course that covers the basics of algorithms and data structures.

This course is designed for students who have had some experience with programming and want to improve their skills in designing and analyzing algorithms.

Credit: youtube.com, ISC 220 - 01 Course Overview

You'll learn about fundamental data structures like arrays, linked lists, stacks, and queues, which are essential for any programmer.

These data structures are used in a wide range of applications, from simple calculators to complex databases.

The course will also cover more advanced topics like trees and graphs, which are crucial for solving complex problems in computer science.

You'll learn how to analyze the time and space complexity of algorithms, which is a critical skill for any programmer.

This will help you to write more efficient code and solve problems more effectively.

The course will also cover the basics of sorting and searching algorithms, which are used in many real-world applications.

These algorithms are used in everything from searching the internet to sorting data in a database.

The course is taught by experienced instructors who will provide guidance and support throughout the course.

You'll have access to online resources and practice problems to help you learn and stay on track.

Postconditions and Expectations

Focused woman working on a computer in a busy laboratory setting, showcasing teamwork and scientific research.
Credit: pexels.com, Focused woman working on a computer in a busy laboratory setting, showcasing teamwork and scientific research.

By the end of COMPSCI 220, you can expect to have a solid grasp of modern JavaScript programming practices. This includes understanding the latest techniques and best practices for writing efficient and effective code.

You'll be able to program with abstraction, using higher-order functions and object-oriented programming to create complex systems. This will involve using concepts like recursion to work with data structures like trees and lists.

One key takeaway from the course is an accurate mental model of programming languages that support mutable state, assignable variables, objects, higher-order functions, and garbage collection. This means you'll be able to visualize the heap and stack at any point in a program's execution, giving you a deeper understanding of how your code is running.

Testing is also a crucial aspect of the course, and you'll learn how to effectively test your code to ensure it's working as expected.

Here are some of the key topics you can expect to cover in COMPSCI 220:

  • Modern JavaScript programming practices
  • Programming with abstraction (higher-order functions, object-oriented programming)
  • Programming with recursively-defined data structures (trees and lists)
  • An accurate mental model of programming languages with mutable state, assignable variables, objects, higher-order functions, and garbage collection
  • Testing
  • Design patterns
  • Special topics (depending on the instructor)

Diversity and Professionalism

Credit: youtube.com, How CVU's Focus on Ministries Serving the Poor & Addicted Impacts Course & Program Design

In Comp Sci 220, we're committed to fostering a diverse and inclusive learning environment. The lack of diversity is a significant problem in computer science, and we want to help improve the situation.

We're all responsible for creating a positive and professional atmosphere in the course. This includes online interactions, which should be treated as professional activities exclusively.

If you ever feel uncomfortable or prevented from learning, don't hesitate to speak up with the instructor. We encourage you to bring it up, and there are also university resources available to help.

Keith Marchal

Senior Writer

Keith Marchal is a passionate writer who has been sharing his thoughts and experiences on his personal blog for more than a decade. He is known for his engaging storytelling style and insightful commentary on a wide range of topics, including travel, food, technology, and culture. With a keen eye for detail and a deep appreciation for the power of words, Keith's writing has captivated readers all around the world.

Love What You Read? Stay Updated!

Join our community for insights, tips, and more.