1
$\begingroup$

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.

$\endgroup$
3
  • $\begingroup$ 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. $\endgroup$
    – Buffy
    Jun 21, 2022 at 19:15
  • $\begingroup$ Updated for clarity. I have taken course one, and would like to avoid taking course two and three which are equivalent to each other. $\endgroup$ Jun 21, 2022 at 19:33
  • $\begingroup$ Please do not remove the course descriptions. The answers that you have now received will be meaningless without them. $\endgroup$
    – Ben I.
    Jun 22, 2022 at 14:44

2 Answers 2

6
$\begingroup$

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.

$\endgroup$
3
  • $\begingroup$ 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. $\endgroup$ Jun 21, 2022 at 18:38
  • $\begingroup$ 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. $\endgroup$
    – Buffy
    Jun 21, 2022 at 18:55
  • $\begingroup$ Updated the original submission $\endgroup$ Jun 21, 2022 at 19:13
4
$\begingroup$

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.

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 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.

$\endgroup$
3
  • $\begingroup$ Do you think, using this, I could say A is equivalent to either B or C $\endgroup$ Jun 21, 2022 at 22:07
  • $\begingroup$ ... no? If anything, let them decide. $\endgroup$
    – Ben I.
    Jun 21, 2022 at 23:30
  • $\begingroup$ @leecan999 Did you read the answers? No, A is not equivalent to either B or C. $\endgroup$ Jun 23, 2022 at 16:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.