Yet another solution without Count, Group By and Distinct:
Pretty verbose and I guess slower than the other ones because of its nestings:
SELECT studentId
FROM studentcourse S JOIN course C ON S.courseid=C.courseid
WHERE C.cname IN ('English')
AND
studentId NOT IN
(SELECT studentId FROM studentcourse S JOIN course C ON S.courseid=C.courseid
WHERE C.cname IN ('Sindhi'))
UNION
SELECT studentId
FROM studentcourse S JOIN course C ON S.courseid=C.courseid
WHERE C.cname IN ('Sindhi')
AND
studentId NOT IN
(SELECT studentId FROM studentcourse S JOIN course C ON S.courseid=C.courseid
WHERE C.cname IN ('English'))