Answers.Body: <p>If you mean equivalent for purposes of substitution in a given curriculum at a particular university, then it is up to them.</p>
  <p>However, they don't seem equivalent to me in any sense. The first is intended to provide some initial programming competence and the second is an overview of the field. If the second course doesn't require programming then it is unlikely to be very deep on most of those topics.</p>
  <p>I think the audience for the courses is different and a university requiring both is likely to require the first before the second if the latter has any rigor.</p>
  <p>But an admissions committee might let a person substitute one for the other (or not).</p>
  <p>Addressing a comment, I don't think that course 1 is sufficient to avoid taking one of the others. The intent and coverage are very different. Both give you a breadth of knowledge that is needed to do computer science beyond (mere) programming. Without one of those courses you might be handicapped in later courses.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2022-06-21T18:38:06.603Z
Answers.Text: Do you think this would be equal to the first course:
  
  
  Accelerated breadth-first introduction to computer science as a discipline for students (usually first-year) who have a strong programming background. Computational models of functional, object-oriented, and logic programming. Data structures and algorithm analysis. Computer logic and architecture. Grammars and parsing. Regular expressions. Computability. Extensive practice constructing applications from principles, using a variety of languages.
Answers.UserDisplayName: ohnoyoufoundthis
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2022-06-21T18:55:37.977Z
Answers.Text: Actually, it would help if you say something (by editing the question) what the purpose of this is. That is "Equivalent for what purpose?". But the new suggest ion is more like your second example.
Answers.UserDisplayName: Buffy
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2022-06-21T19:13:39.103Z
Answers.Text: Updated the original submission
Answers.UserDisplayName: ohnoyoufoundthis
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2022-06-21T18:29:43.380Z
Answers.LastActivityDate: 2022-06-21T19:37:27.627Z
Answers.LastEditDate: 2022-06-21T19:37:27.627Z
Answers.UserDisplayName: Buffy
Answers.Body: <p>Buffy is absolutely correct.  A is different in both spirit and content to both B and C, with very little overlap.  B does mention Object Orientated Programming, so there is an overlap.  But B at its core, is an introduction to the principles of Computer Science, which A (a fast-paced introductory programming course) doesn't even touch upon.</p>
  <p>Functional programming and logic programming are different entire paradigms of programming, just like Object programming is a paradigm.  You will likely find nothing you are familiar with there, and certainly nothing even breathed about in course A.</p>
  <p>As Buffy pointed out, any university can choose to give credit where it would like, but there is very nearly zero overlap between A and either B or C, so it seems unlikely to me that they would grant your request.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2022-06-21T22:07:20.580Z
Answers.Text: Do you think, using this, I could say A is equivalent to either B or C
Answers.UserDisplayName: ohnoyoufoundthis
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2022-06-21T23:30:32.637Z
Answers.Text: ... no?  If anything, let them decide.
Answers.UserDisplayName: Ben I.
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2022-06-23T16:22:28.587Z
Answers.Text: @leecan999 Did you read the answers? No, A is not equivalent to either B or C.
Answers.UserDisplayName: Victor Eijkhout
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2022-06-21T21:50:42.380Z
Answers.LastActivityDate: 2022-06-21T21:50:42.380Z
Answers.UserDisplayName: Ben I.
Body: <p>Taking course B or C is required for my school's computer science program. Is course A, which I have taken equivalent to course B or C?</p>
  <p>Course A:</p>
  <p>Computer Science II (CSII) is the continuation of Computer Science I. The purpose of CSII is to expand students' understanding of Computer Science and computer programming, assuming that they have the basic knowledge of the Python language. The course introduce another programming language - Java - and also focuses on the pure Object-Oriented features of Java, such as inheritance, polymorphism, and exceptions, as well as on simple data structures (lists, stacks, and queues) and algorithms (searching and sorting). By the end of the semester students will be able to develop sizable computer programs in Java.</p>
  <p>Course B:</p>
  <p>Introduction to principles of computer science. Information structures, functional programming, object-oriented programming, grammars, logic, logic programming, correctness, algorithms, complexity analysis, finite-state machines, basic processor architecture, and theoretical limitations.</p>
  <p>Course C:</p>
  <p>Accelerated breadth-first introduction to computer science as a discipline for students (usually first-year) who have a strong programming background. Computational models of functional, object-oriented, and logic programming. Data structures and algorithm analysis. Computer logic and architecture. Grammars and parsing. Regular expressions. Computability. Extensive practice constructing applications from principles, using a variety of languages.</p>
  
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2022-06-21T19:15:11.397Z
Comments.Text: Don't want to take which course? The first? And if so, do you have a course that is similar but in another language? Scheme, Python? Other? And if you were able to take 2 or 3 without 1 earlier, what was the reason for that? I'd think programming would be a prerequisite for either 2 or 3.
Comments.UserDisplayName: Buffy
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2022-06-21T19:33:05.583Z
Comments.Text: Updated for clarity. I have taken course one, and would like to avoid taking course two and three which are equivalent to each other.
Comments.UserDisplayName: ohnoyoufoundthis
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2022-06-22T14:44:51.907Z
Comments.Text: Please do not remove the course descriptions.  The answers that you have now received will be meaningless without them.
Comments.UserDisplayName: Ben I.
Tags: <undergraduate>
Title: Would these two computer science courses count as equivalent?
ThreadText: # Would these two computer science courses count as equivalent?
  
  (Asked by: username_0 on 2022-06-21)
  
  Taking course B or C is required for my school's computer science program. Is course A, which I have taken equivalent to course B or C?
  
  Course A:
  
  Computer Science II (CSII) is the continuation of Computer Science I. The purpose of CSII is to expand students' understanding of Computer Science and computer programming, assuming that they have the basic knowledge of the Python language. The course introduce another programming language - Java - and also focuses on the pure Object-Oriented features of Java, such as inheritance, polymorphism, and exceptions, as well as on simple data structures (lists, stacks, and queues) and algorithms (searching and sorting). By the end of the semester students will be able to develop sizable computer programs in Java.
  
  Course B:
  
  Introduction to principles of computer science. Information structures, functional programming, object-oriented programming, grammars, logic, logic programming, correctness, algorithms, complexity analysis, finite-state machines, basic processor architecture, and theoretical limitations.
  
  Course C:
  
  Accelerated breadth-first introduction to computer science as a discipline for students (usually first-year) who have a strong programming background. Computational models of functional, object-oriented, and logic programming. Data structures and algorithm analysis. Computer logic and architecture. Grammars and parsing. Regular expressions. Computability. Extensive practice constructing applications from principles, using a variety of languages.
  
  **Tags:** undergraduate
  
  > **Comments:**
  > **username_1**: Don't want to take which course? The first? And if so, do you have a course that is similar but in another language? Scheme, Python? Other? And if you were able to take 2 or 3 without 1 earlier, what was the reason for that? I'd think programming would be a prerequisite for either 2 or 3.  
  > **username_0**: Updated for clarity. I have taken course one, and would like to avoid taking course two and three which are equivalent to each other.  
  > **username_2**: Please do not remove the course descriptions.  The answers that you have now received will be meaningless without them.  
  
  ---
  
  ## 2 answers
  
  ### Answer by username_1 on 2022-06-21. Score: 6
  
  If you mean equivalent for purposes of substitution in a given curriculum at a particular university, then it is up to them.
  
  However, they don't seem equivalent to me in any sense. The first is intended to provide some initial programming competence and the second is an overview of the field. If the second course doesn't require programming then it is unlikely to be very deep on most of those topics.
  
  I think the audience for the courses is different and a university requiring both is likely to require the first before the second if the latter has any rigor.
  
  But an admissions committee might let a person substitute one for the other (or not).
  
  Addressing a comment, I don't think that course 1 is sufficient to avoid taking one of the others. The intent and coverage are very different. Both give you a breadth of knowledge that is needed to do computer science beyond (mere) programming. Without one of those courses you might be handicapped in later courses.
  
  > **Comments:**
  > **username_0**: Do you think this would be equal to the first course:   Accelerated breadth-first introduction to computer science as a discipline for students (usually first-year) who have a strong programming background. Computational models of functional, object-oriented, and logic programming. Data structures and algorithm analysis. Computer logic and architecture. Grammars and parsing. Regular expressions. Computability. Extensive practice constructing applications from principles, using a variety of languages.  
  > **username_1**: Actually, it would help if you say something (by editing the question) what the purpose of this is. That is "Equivalent for what purpose?". But the new suggest ion is more like your second example.  
  > **username_0**: Updated the original submission  
  
  ---
  
  ### Answer by username_2 on 2022-06-21. Score: 4
  
  username_1 is absolutely correct. A is different in both spirit and content to both B and C, with very little overlap. B does mention Object Orientated Programming, so there is an overlap. But B at its core, is an introduction to the principles of Computer Science, which A (a fast-paced introductory programming course) doesn't even touch upon.
  
  Functional programming and logic programming are different entire paradigms of programming, just like Object programming is a paradigm. You will likely find nothing you are familiar with there, and certainly nothing even breathed about in course A.
  
  As username_1 pointed out, any university can choose to give credit where it would like, but there is very nearly zero overlap between A and either B or C, so it seems unlikely to me that they would grant your request.
  
  > **Comments:**
  > **username_0**: Do you think, using this, I could say A is equivalent to either B or C  
  > **username_2**: ... no?  If anything, let them decide.  
  > **username_3**: @leecan999 Did you read the answers? No, A is not equivalent to either B or C.  
  
  ---
  
  